2012-06-14 105 views
0

假設我們有一個DATES表,其中包含3列:colYear(年),colMonth(MONTH),colDay(DAY)。在SQL Server中同時獲取多列最大值的結果

行插入,如:

colYear colMonth colDay 
    1  2  3 
    2  3  0 
    4  5  5 
    4  8  0  
    1  10  28 

我需要找到基於3列最大日期。因此,在這個例子中,正確的答案是: 4年,8個月和0天是最大的(我們檢查年份,最大值是4秒,之後我們檢查最大月份是8,所以我們已經找到了我們的結果)。

可能嗎?如何實現這與SQL?

回答

5

使用ORDER BY -

SELECT * from DATES 
    ORDER BY colYear DESC, colMonth DESC, colDay DESC 

根據您的數據庫,你可以限制的行數爲1

所以對於使用Oracle的rownum = 1 而對於MySQL的將是LIMIT 1

+3

在微軟SQL,你可以使用TOP 1,也就是SELECT TOP 1 ... – Sparky

+0

就像我想的那樣工作,謝謝你提供的很好和簡單的解決方案。 – 0x49D1

+0

我很高興它幫助...還記下了什麼Sparky上面提到,如果你需要限制你的計數爲1。 – Kshitij

相關問題