在SQL Server中一次获取多列中的最大值的结果

0x4*_*9D1 0 sql-server max

假设我们有一个DATES包含3列的表:(年colYear),colMonth(月),colDay(DAY).

行插入如下:

colYear colMonth colDay
   1       2        3   
   2       3        0   
   4       5        5   
   4       8        0    
   1      10       28
Run Code Online (Sandbox Code Playgroud)

我需要根据3列找到最大日期.因此,在这个例子中,正确的答案将是:4年,8个月和0天是最大的(我们检查年份,最大值是4s,之后我们检查月份最大值是8,所以我们找到了我们的结果).

可能吗?如何用sql实现这一点?

Ksh*_*tij 5

使用顺序 -

    SELECT * from DATES 
    ORDER BY colYear DESC, colMonth DESC, colDay DESC
Run Code Online (Sandbox Code Playgroud)

根据您的数据库,您可以将行数限制为1.

所以对于oracle使用rownum = 1 而对于mysql它将是LIMIT 1