Sto cercando di selezionare solo la riga con il più alto seq per ogni IDcome selezionare solo la riga con la sequenza massima senza utilizzare una sottoquery?
ID | Seq | Age
-------------------
A 1 20
A 2 30
B 1 25
B 2 32
B 3 44
B 4 48
C 1 11
Questo sembra funzionare
SELECT ID, Age
FROM Persons a
WHERE Seq = (SELECT MAX(Seq) FROM Persons b WHERE a.ID = b.ID)
Ma è questo il modo migliore, l'unico modo? Non mi piace usare le subquery se non devo e ricordo che puoi usare qualcosa ma ho dimenticato di cosa si tratta. Qualche idea?
Cosa rdbms stai usando? –
Principalmente SQL Server, ma se è oracle compatibile, allora è fantastico – jenswirf
Il mio approccio 'ROW_NUMBER' funziona anche in Oracle, come ho provato con SQl-Fiddle. Dai un'occhiata al link nella mia risposta. –