自己結合っていうの?
セレクトで苦労したのでメモ。
抽出したいのは、field1に入っている日付系のデータを、 idごとで分けた、最大のデータ、且つ、今日以前のデータ。 idとfield1がpkです。
SELECT * FROM testTb AS x WHERE x.field1 = (SELECT MAX(field1) FROM testTb WHERE x.id = id AND field1 <= now() )
半ば消化不良ですが、どうやら、外のテーブル(x.testTb)のidと中のテーブル(testTb)のidを サブクエリの中で対比させることによって、id分のMAXの値を抽出できるらしい。 ループしてるイメージでしょうか?それともグループ化?
ちなみに最後の、AND field1 <= now()を外に出すと動きません。
参考サイト:http://q.hatena.ne.jp/mobile/1213899211