SQL SERVER 2005+ 使用VALUES子句实现一条语句查询一行记录中的最大值

SQL Server 2017-08-15 31阅读 0评论 0收藏 收藏本文

SQL SERVER 2005+ (SQL SERVER 2005,SQL SERVER 2008,SQL SERVER 2012,SQL SERVER 2016) 使用VALUES子句实现一条语句查询一行记录中的最大值

测试用例语句:

DECLARE @t TABLE(a INT,b INT,c INT);
INSERT @t VALUES(1,2,3),(9,8,7),(4,6,5);
SELECT *
,      (   SELECT  MAX(val)
           FROM    (VALUES (a)
                       ,   (b)
                       ,   (c)
                   ) AS value(val)
       ) AS MaxVal
FROM @t;

测试结果:
SQL SERVER 2005+ 使用VALUES子句实现一条语句查询一行记录中的最大值测试结果

引用地址:
http://sqlblog.com/blogs/jamie_thomson/archive/2012/01/20/use-values-clause-to-get-the-maximum-value-from-some-columns-sql-server-t-sql.aspx
https://www.mssqltips.com/sqlservertip/4067/find-max-value-from-multiple-columns-in-a-sql-server-table/

转载请注明:图享网 » SQL SERVER 2005+ 使用VALUES子句实现一条语句查询一行记录中的最大值

文章评论

获取验证码