以下のようなテーブルがあると仮定します。
関数の引数で$idが渡され、1が入っていると仮定します。
WHEREの条件として、$id=u_idかつdateが一番大きいということを条件に、以下のレコードを抽出したいのですが。
1, kkk, fff, 2011-03-26 20:56:09
このSQL文はどのようなふうに書くのでしょうか?
よろしくお願いします。
テーブル名 log_tbl
U_id, col1, col2, date
1, aaa, bbb, 2011-03-11 15:35:57
3, ggg, yyy, 2011-03-11 20:43:28
1, kkk, fff, 2011-03-26 20:56:09
2, fff, rrr, 2011-03-28 15:28:14
まずは高速処理させるためにu_idとdateでインデックスを作成しておくほうがよろしいでしょう
インデックスの有無にかかわらず次のようにすればお望みの結果を得られます
SELECT * FROM log_tbl WHERE u_id=1 ORDER BY date DESC LIMIT 1
ご回答ありがとうございます。
LIMIT 1
の書き方が判ってよかったです。
インデックスも作成しました。
ありがとうございました!