• ベストアンサー

MySQLで、本日に一番近い日のレコード

Linuxサーバーで、MySQLを使っています。 ユーザーの付属テーブルの中で、 同じユーザーのレコードが複数あります。 その多数のレコード中に、日付項目があります。 そこから、ユーザー毎に、本日に一番近い過去未来の日のレコードだけを抽出するには、 どのようなSQL文を書けばよいでしょうか? 抽出結果は、下記のようになるように。 ユーザーA、本日に一番近い日付、・・・・ ユーザーB、本日に一番近い日付、・・・・ ユーザーC、本日に一番近い日付、・・・・ ※同一ユーザーは、複数抽出されない。=ユーザーは、ユニークになる抽出結果。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

select user_id, max(date) from your_table group by user_id;

longucumber0519
質問者

お礼

ご回答ありがとうございます。とても助かります。 でも、最大日付だけ抽出するようなSQL文に見えます... まだ、SQL詳しくないので、とりあえず、やってみます。 その1行で、 1.過去に複数ある日付の中から、指定日に、一番近いレコード。 2.未来に複数ある日付の中から、指定日に、一番近いレコード。 が、抽出できるなら、すごく楽なので。

関連するQ&A