- 締切済み
これを抽出するSQLを教えてください
どういうSQLを書けばこれが実現出来るのか分からないので教えて下さい。 テーブル名 f_table というテーブルがあります。 このテーブルには、f_id,u_id,day(日付)という三つの列があり、下記のようにデータが入っているとします。 f_id u_id day 1 1 2007/3/8 2 2 2008/1/2 3 2 2008/1/10 4 1 2007/2/12 このf_tableから、各u_idで一番日付の新しいf_idを抽出する(この表の場合f_idの1と3が抽出される)にはどういうSQLで出来るのでしょうか? ※実際の表ではu_idに入っている数字の種類は1と2だけではなく、もっと沢山あります。 ご回答よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Context
- ベストアンサー率0% (0/1)
回答No.2
f_idを取りたいなら、 select f_table.f_id from f_table,( select u_id,max(day) as day from f_table group by u_id) b_table where f_table.u_id = b_table.u_id and f_table.day = b_table.day コレでいけるのではないでしょうか。 検証できる環境がないので自信はありませんが。
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
dayがdate型であれば、ぶつうに・・・ select u_id,max(day) as day from f_table group by u_id とかでいけます。