- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLでデータが存在する日付を取得する方法)
MySQLでデータが存在する日付を取得する方法
このQ&Aのポイント
- MySQLのDATETIME型のカラムから指定した日数分のデータが存在する日付を取得する方法について教えてください。
- 最近3日分のデータが存在する日付を取得するためには、テーブルから日付を抽出し、重複を除いて表示するクエリを使用します。
- 上記のテーブルから、最近3日のデータが存在する日付を取得すると、2011-06-18、2011-06-16、2011-06-12という結果が得られます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>2011-06-18 >2011-06-16 >2011-06-12 3日じゃなくないですか? 結果がdateだけではなくなりますが、以下の感じでどうでしょうか。 SELECT DATE_FORMAT(table_a.date,'%Y-%m-%d') as formatdate,date FROM `table_a` WHERE DATE_FORMAT(table_a.date,'%Y-%m-%d') >= date_add(CURRENT_TIMESTAMP(), interval -3 DAY) GROUP BY formatdate 日付だけ取りたいなら SELECT DISTINCT DATE_FORMAT(table_a.date,'%Y-%m-%d') as date FROM `table_a` WHERE DATE_FORMAT(table_a.date,'%Y-%m-%d') >= date_add(CURRENT_TIMESTAMP(), interval -3 DAY) とするとか # WHERE句でDATE_FORMATしていますが、日単位になるのかどうかわからない(未検証)なので、変換しています。
お礼
回答ありがとうございます。 > 3日じゃなくないですか? table_aの中での3日分を取得したかったのです。 以下で取得することができました。 select distinct date_format(table_a.date,'%Y-%m-%d') as formatdate from table_a order by formatdate desc limit 3;