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される前のデータを対象に検索するっぽい。
関連記事
- 
					
													  
- 
					MySQLでデータベース単位とテーブル単位のデータサイズ(容量)の調べ方VPSの各種ファイルを整理している際に「MySQLも不要なデータを削除すればいい ... 
- 
					
													  
- 
					PHPからMySQLにシリアライズしたデータを格納アンケートフォームみたいなのがあって、 今後も定期開催し、尚且つ質問内容は増減す ... 
- 
					
													  
- 
					MySQLにてUUIDを発行しプライマリキー(主キー)にする方法普段MySQLでプライマリキー(主キー)を使う場合、オートインクリメントを利用し ... 
- 
					
													  
- 
					MySQLが起動も再起動もできない際の対応方法サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ... 
- 
					
													  
- 
					MySQLでREGEXPについてSQL文にREGEXPというのを見てこれ何? となったのでメモ。 ■参考サイト ...