次のスキーマを持つテーブルがあります。
id, field, time
3, 'test0', 2012-08-29
3, 'test1', 2012-08-30
3, 'test2', 2012-08-31
2, 'test0', 2012-08-19
2, 'test1', 2012-08-20
2, 'test2', 2012-08-26
...
リスト内のすべてのIDについて、最後の値と最後の値の前を見つける必要があります。たとえば、ids = [2,3]の場合、結果は次のようになります。
3, 'test1', 2012-08-30
3, 'test2', 2012-08-31
2, 'test1', 2012-08-20
2, 'test2', 2012-08-26
最後の値だけが必要な場合は、
SELECT *
FROM table
WHERE id IN (2, 3)
GROUP BY id
これをどのように達成できるかについてのアイデアはありますか?