MySQLでデータの集計時に1日の起点を任意の時間に変更する方法
2024/01/16
MySQLで1日毎の集計を行う際、例えば2020/01/01のデータは2020/01/01 00:00:00 ~ 2020/01/01 23:59:59になるが、「00:00:00」の部分を任意に指定したいというケースがあった。例えば5時を起点とすると2020/01/01 05:00:00 ~ 2020/01/02 05:00:00を2020/01/01のデータとして取り扱いたい(正確には4:59:59だが省略)。以下対応方法のメモ。
SQL文
以下の通りdate_format時に起点の時間分マイナスにすることで対応できる。
date_format((ymd - interval 5 hour), "%Y-%m-%d") AS format_ymd
注意点
Where句でymd検索した場合はdate_formatされる前のデータを対象に検索するっぽい。
関連記事
-
-
mysqldumpが使えないレンタルサーバでMySQLのバックアップ
mysqldumpが使えないレンタルサーバで開発を行うことがあり、尚且つ他社に使 ...
-
-
MySQLで月別に集計を行う。あと日付時刻関数。
現在進行形でやっているデータ集計系だけど 新たな発見があったのでメモ。 ■日付時 ...
-
-
MySQLでカラム内容によって条件分岐させたい場合の対応方法
MySQLでカラムの内容によって条件を分岐させたかった。またPHPで処理するので ...
-
-
WordPressサイトのロードアベレージが高い際の対応方法
あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...
-
-
異なるVPS間でMySQLの接続を行う方法
異なるVPS間でMySQL接続を行った際のメモ。 対応方法 さくら ...