我有一个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