• ベストアンサー
※ 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

  • 特定のデータの前後を取得したい

    以下のようなテーブルがあり、 SELECT id , regist_date FROM table_name ORDER BY regist_date DESC; ↑このSQLで並べると↓以下になるとします。 id(int型)   regist_date(datetime型) 12      2017-03-30 08:05:03 95      2017-03-29 19:05:03 72      2017-03-28 12:05:03 15      2017-03-28 12:05:03 62      2017-03-27 15:05:03 94      2017-03-26 12:05:03 やりたい事はidが72というのが分かっており、 そのデータと前後のデータを取得したいです。 ※日付の部分が完全に重複するデータが存在する場合もあります。 ※idは重複しません。 ↓このデータがとりたいです。 95      2017-03-29 19:05:03 72      2017-03-28 12:05:03 15      2017-03-28 12:05:03 SELECT * FROM table_name WHERE id = 72 ORDER BY regist_date DESC; ここから先が分からなくなってしまいどなたかわかる方いらっしゃいますか?

    • ベストアンサー
    • MySQL
  • 最新の日付と2番目の日付のデータ取得方法

    SQL Server 2008 にて下記条件を満たしたデータの取得を行いたいです。 ・IDごとに、日付がある日以前で最新のものとその次の日付のデータ2件 ・ただし、その2件で価格が変わらなければ価格変動のあった日付のデータまでさかのぼる ・価格が同じデータの場合、古い日付のデータを取得 例: ・条件…日付が20040101以前 <検索対象データ> ID  日付    価格 ------------------------ 1   20000101   100 1   20010201   100 1   20020301   200 2   20020401   300 2   20000501  400 2   20010601   400 2   20030701   300 3   20000801   500 3   20010901  600 3   20040901  600 <取得したい結果> ID  日付    価格 ------------------------ 1   20020301   200 1   20000101   100 2   20020401   300 2   20000501  400 3   20010901  600 3   20000801   500 なるべく少ないSelect文で取得したいと考えております。 よろしくお願いします。

  • SQL select 2つの日時データの結合

    SQLで2つの日時データについて、片方の日時に一番近い別データのレコードを結合して抜き出したいです。 <Table1> 日時A data1 2020/07/01 10:00:00 1000 2020/07/01 11:00:00 1000 <Table2> 日時B col1 2020/07/01 9:50:00 AAA 2020/07/01 10:05:00 BBB 2020/07/01 11:10:00 CCC 上記2つのようなデータがある場合、下記のようなSELECT結果を取得したいです。 日時A data1 日時B col1 2020/07/01 10:00:00 1000 2020/07/01 9:50:00 AAA 2020/07/01 11:00:00 1000 2020/07/01 10:05:00 BBB この場合、どのような構文を使用したらよいでしょうか? お手数ですが、よろしくお願いいたします。

  • MySQLのDatetime型の検索方法

    MySQLのDatetime型で 時間部分が00:00:00のデーターだけを抽出する方法を教えてください。 MySQLのデータ(列:Datetime型) 2011-12-01 00:00:00 2011-12-01 20:15:45 2011-12-01 20:46:45 2011-12-02 00:00:00 2011-12-02 11:11:11 2011-12-03 22:22:22 2011-12-04 00:00:00 このようなデータの中から時間部分が「00:00:00」のものを抽出したいと思います。 求める結果は 2011-12-01 00:00:00 2011-12-02 00:00:00 2011-12-04 00:00:00 です。 期間で抽出するのであれば SELECT * FROM `テーブル名` WHERE date>='2012/12/05 00:00:00' AND date<='2012/12/07 23:59:59' のようなクエリで良いと思うのですが、「00:00:00:」が含まれるものだけを抽出しようと思うとうまくいきません。 LIKE 00:00:00 でできるかもしれないと思いましたがダメでした。

    • ベストアンサー
    • MySQL
  • iPhone DatePickerでの日付の取得について

    iPhoneのアプリ制作のため勉強しているのですが DatePickerにて下記のように現在時刻を設定した場合 NSDate *today = [[[NSDate alloc] init] autorelease]; [datePicker setDate:today]; DatePickerを5分間隔に設定していると 現在時刻が13時41分だと、DatePickerには13時40分と 表示されるのですが、[datePicker date]で値を取得すると 13時41分を取得します。 DatePickerの値を変更すると、表示されている時刻を 取得できるのですが、初回のみ上記のような状態です。 最初から表示されている値を取得するには どのような方法があるのでしょうか? 良い方法をご存知の方、回答よろしくお願いいたします。

  • mysqlのsql文について教えて下さい

    mysqlのsql文について教えて下さい 下記のようなテーブルとデータがあった場合に どうやれば 2,次郎だけを抽出できますか? 本日日付(2010-08-06)が 既にテーブルBにdateが存在する場合は 3,1,2010-08-04 3,1,2010-08-06を 対象外にしたいです。 Aテーブル id,user 1,太郎 2,次郎 3,3郎 Bテーブル targetid,homonid,date(datetime型) 3,1,2010-08-04 3,1,2010-08-06 3,2,2010-08-05 下記だと2010-08-04にヒットしてしまい(当たり前?)動作しません。 select distinct a.* from tblA a, tblB b where date_format(b.date, "%Y-%m-%d") <> "2010-08-06" ;

  • 日付フォーマット

    テーブルから日付データを取得してフォーマットしたいのですがうまくいきません。 DATETIME型の項目に入っている日時(Y-m-d H:i:s)を取得してY/m/dにフォーマットしようと $result = date("Y/m/d", $getdata); としたところ、結果が 1970/01/01 となってしまいました。 $getdataには存在する日時(Y-m-d H:i:s)が入っている事を確認しています 正しくフォーマットするにはどうしたら良いのでしょうか?

    • ベストアンサー
    • PHP
  • mysqlで日付が比較できない・・・

    はじめまして 皆様の知恵を貸してください mysqlでの質問なのですが、 簡潔にいうと日付が比較できません。 どういうことをしたいのかというとsqlからwhere文で今の日付より大きいもデータを抽出するということです データベースの構造は id int型 endtime datetime型 で構成されています endtimeには既にいくつかのdatetime型の値が入っています 例えば 2012-12-14 09:18:00 のように入っています でGETDATE()関数を使って今現在の時刻より未来のものだけ抽出するために convert関数を使って一度varchar型に変換することで比較しようとしました 色々インターネットで調べた結果次のような文なのではないかと考えました select id,endtime from [データベース名] where CONVERT(VARCHAR,endtime,121)>=CONVERT(VARCHAR,getdate(),121); しかし実行ができません 比較する方法を教えて欲しいです

    • ベストアンサー
    • MySQL
  • MySQLのDatetime型の引き算

    ある機械の1日当たりの処理数を計算したいと思います。 Datetimeの引き算がうまくいかないので、解決方法を教えてください。 1日当たりの処理数は下記の式で計算できます。 1日当たりの処理数=期間内処理数÷((現在日時-作業開始日時)÷(60×60×24)) ※現在日時-作業開始日時で期間の秒数を計算 それを1日の秒数=86400秒(60秒×60分×24時間)で割る。 ------------------ 環境 MySQL:5.0.77 ------------------ テーブル: test カラム :num(INT型),start_date(DATETIME型) ※numは期間内の機械の処理数です。 まず、上記の1日当たりの処理数の数式をSQL文に反映させてみました。 SELECT num , num/((now()-start_date)/86400) as shorisu FROM test 結果は表示されるのですが、かなり大きな数値になって出てきてしまいます。 WEBで情報を検索したところ、DATETIME型を直接減算すると求める結果にならないことはわかりました。 MySQLのページ(11.5. 日付時刻関数) http://dev.mysql.com/doc/refman/5.1/ja/date-and-time-functions.html を見てみましたが、どの関数を使えばよいのかいまいちわかりません。 now()-start_dateの部分が正しい値を返すようになれば良いのですが、どのような式を書けばよいのでしょうか?

    • ベストアンサー
    • PHP
  • MYSQL バイナリーデータに変換して取得

    MYSQLでSELECTして以下のテーブルのCODEカラムからバイナリーデータに変換してデータを取得したいのですが、どうしたら良いでしょうか? SELECT CODE FROM TABLE_NEME WHERE ID='XXX' <テーブルデータ> CODE(varchar型) 011A00046D0ADC4B

    • ベストアンサー
    • MySQL
このQ&Aのポイント
  • 妻の不倫疑惑についてアドバイスをお願いします。妻のスマホのパスワードを変更され、LINEのやりとりから不倫を疑ってしまっています。
  • 妻の不倫疑惑に悩んでいます。妻が最近スマホを手放さず、オシャレに気を使い、ダイエットまで始めているので怪しいと感じています。
  • 妻の不倫の疑いで気が滅入っています。妻にLINEのやりとりで不倫を疑う内容があり、どのように話をすれば良いかアドバイスをお願いします。
回答を見る