我想只選擇最高SEQ行每個ID如何僅使用最大序列選擇行而不使用子查詢?
ID | Seq | Age
-------------------
A 1 20
A 2 30
B 1 25
B 2 32
B 3 44
B 4 48
C 1 11
這似乎工作
SELECT ID, Age
FROM Persons a
WHERE Seq = (SELECT MAX(Seq) FROM Persons b WHERE a.ID = b.ID)
但是,這是最好的辦法,唯一的辦法?我不喜歡使用子查詢,如果我不需要,我記得你可以使用一些東西,但我忘記它是什麼。任何想法?
您正在使用什麼RDBMS? –
主要的SQL Server,但如果它是與Oracle兼容那麼這真棒 – jenswirf
我'ROW_NUMBER'方法效果也是甲骨文,因爲我已經有了SQL-小提琴測試。看看我的答案中的鏈接。 –