• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLでデータが存在する日付を取得する方法)

MySQLでデータが存在する日付を取得する方法

このQ&Aのポイント
  • MySQLのDATETIME型のカラムから指定した日数分のデータが存在する日付を取得する方法について教えてください。
  • 最近3日分のデータが存在する日付を取得するためには、テーブルから日付を抽出し、重複を除いて表示するクエリを使用します。
  • 上記のテーブルから、最近3日のデータが存在する日付を取得すると、2011-06-18、2011-06-16、2011-06-12という結果が得られます。

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

  • ベストアンサー
  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.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していますが、日単位になるのかどうかわからない(未検証)なので、変換しています。

onotch-x
質問者

お礼

回答ありがとうございます。 > 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;

関連するQ&A