我有一個Journal_Entry表,主鍵爲Journal_Entry_ID,以及(其他列中)爲Entry_Date列。SQL:如何從多個記錄中選擇最高的PK返回
我試圖做一個查詢,選擇最新的Entry_Date - 通過SELECT MAX(Entry_Date)
- 但問題是用戶可能已記錄在給定的日期多個條目。因此,如果用戶今天記錄了兩次日記帳分錄,則此SELECT語句可能會返回多個行,因爲相同的MAX Entry_Date已被記錄多次。
所以我想要做的是,如果SELECT MAX語句返回多個記錄,請選擇返回的記錄中Journal_Entry_ID最高的記錄。
現在我的查詢看起來是這樣的:
SELECT Journal_Entry_ID, Entry_Date
FROM Journal_Entry
WHERE Entry_Date = (SELECT MAX(Entry_Date) FROM Journal_Entry);
我使用的是SQL SERVER。任何幫助將不勝感激。
謝謝。
編輯:我正在使用SQL SERVER。不是我最初報告的我的SQL。
正確的答案,但它爲什麼是社區wiki? – 2010-01-26 20:36:59
@ Pentium10:在這個答案中沒有'WHERE'子句和子查詢,這就是爲什麼它是好的(對我來說)。 – 2010-01-26 20:37:51
請參閱我上面的修改。我很抱歉。畢竟,我正在使用SQL Server。對困惑感到抱歉。 – 2010-01-26 20:38:26