勉強したことのメモ

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

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

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

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 / MariaDB データベース

  関連記事

WordPressで記事本文の特定のリンク(aタグのhref)を一括置換する方法
WordPressで記事本文の特定のリンク(aタグのhref)を一括置換する方法

WordPressで記事本文の特定のリンクを「old_url」から「new_li ...

MySQLにて指定したカラムがNULLもしくは空の場合、あらかじめ決めておいた内容で表示する方法
MySQLにて指定したカラムがNULLもしくは空の場合、あらかじめ決めておいた内容で表示する方法

何らかのフォームとMySQLを組み合わせた際に任意入力の項目はそのカラムがNUL ...

Podmanでデータベース用コンテナを作成しWebサーバ用コンテナと接続する方法
Podmanでデータベース用コンテナを作成しWebサーバ用コンテナと接続する方法

Podmanでデータベース用コンテナを作成し、Webサーバ用コンテナからPHPで ...

MySQLで「doesn't have a default value」エラーの対処
MySQLで「doesn't have a default value」エラーの対処

MySQLでINSERT時に「Field 'カラム名' doesn't have ...

MySQLのバックアップファイルを簡単に作成できるライブラリ「myphp-backup」の利用方法
MySQLのバックアップファイルを簡単に作成できるライブラリ「myphp-backup」の利用方法

MySQLのバックアップを取る際にadminerとかから手動で対応するのではなく ...