重複の可能性:
列の最大値を持つ行を取得します
特定のタイムスタンプで人々と彼らが所有する株式数の監査テーブルがあります。特定の ID の最新のレコードを取得するにはどうすればよいですか?
mysql 監査テーブル
id name shares dateadded
1 Abc 12 2012-10-06 12:18:21
2 Klm 23 2012-10-06 12:18:21
3 Jim 45 2012-10-06 12:18:21
1 Abc 35 2012-11-06 12:18:21
1 Abc 65 2012-11-17 12:18:21
2 Klm 13 2012-11-06 12:18:21
私の希望の出力:
id name shares dateadded
1 Abc 65 2012-11-17 12:18:21
2 Klm 13 2012-11-06 12:18:21
3 Jim 45 2012-10-06 12:18:21
私はこのようなことができます:
select a.* from audittable a join audittable b
on a.id = b.id
where a.dateadded > b.dateadded;
しかし、これにより、繰り返されている最新のレコードのみが得られます。この場合、ID は 1,2 であり、3 ではありません。サブクエリや一時テーブルを使用せずに、すべての ID の最新レコードのリストを取得するにはどうすればよいですか?