Angenommen, ich habe die nächsten Daten
id date another_info
1 2014-02-01 kjkj
1 2014-03-11 ajskj
1 2014-05-13 kgfd
2 2014-02-01 SADA
3 2014-02-01 sfdg
3 2014-06-12 fdsA
Ich möchte für jede ID die letzten Informationen extrahieren:
id date another_info
1 2014-05-13 kgfd
2 2014-02-01 SADA
3 2014-06-12 fdsA
Wie könnte ich das schaffen?
select * from bar where (id,date) in (select id,max(date) from bar group by id)
Getestet in PostgreSQL, MySQL
quelle
Gruppieren Sie nach ID und verwenden Sie alle Aggregatfunktionen, um die Kriterien des letzten Datensatzes zu erfüllen. Zum Beispiel
select id, max(date), another_info from the_table group by id, another_info
quelle