勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLでデータの集計時に1日の起点を任意の時間に変更する方法

   2024/01/16  MySQL データベース

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される前のデータを対象に検索するっぽい。

 - MySQL データベース

  関連記事

SQLで同じ値を複数のレコードに対してUPDATE

やりたかった事は、複数のレコードに対して 同じ値に更新したいというもの。 $sq ...

MySQLのintのカラムで2147483647の値

MySQLでintのカラムに数値を入れると「2147483647」という値になっ ...

MySQLで特定のテーブルにパーティショニング設定し高速化を図る方法

以前に他社が設計されたログ系のテーブルを拝見した際にパーティショニング設定が行わ ...

MySQLでCSVから列を指定してインポート

MySQLでCSVからデータをインポートしたかった。またエクセル風にいうA列はi ...

MySQLにてUUIDを発行しプライマリキー(主キー)にする方法

普段MySQLでプライマリキー(主キー)を使う場合、オートインクリメントを利用し ...