MySQL5.1のsql文の質問です。

以下のようなテーブルがあると仮定します。
関数の引数で$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

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2011/03/31 00:25:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

ポイント60pt

まずは高速処理させるためにu_idとdateでインデックスを作成しておくほうがよろしいでしょう

 

インデックスの有無にかかわらず次のようにすればお望みの結果を得られます

SELECT * FROM log_tbl WHERE u_id=1 ORDER BY date DESC LIMIT 1
id:seadwell

ご回答ありがとうございます。

LIMIT 1

の書き方が判ってよかったです。

インデックスも作成しました。

ありがとうございました!

2011/03/31 00:25:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません