mysql:按不同时间粒度分组聚合
Posted live4m
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql:按不同时间粒度分组聚合相关的知识,希望对你有一定的参考价值。
前置知识:
设date1是日期,格式形如'2001-02-03 04:05:06'
DATE()返回日期,
DATE(date1)的结果为'2001-02-03'
日期:DATE()
年:year()
月:MONTH()
日:DAY()
时:HOUR()
分:MINUTE()
秒:SECOND()
星期:WEEK()
DATE_FORMAT()格式化函数
DATE_FORMAT(date1,'%Y.%m.%d %H:%M:%S')的结果为'2001.02.03 04:05:06'
按不同时间粒度分组聚合,以半小时聚合为例:
select
DATE_FORMAT(concat(DATE(date),' ',
HOUR(date),':',floor(MINUTE(date/30))*30,
'%Y-%m-%d %H:%M') AS date1,
count(*)
from
表
group by date1
其他时间粒度写法类似。
以上是关于mysql:按不同时间粒度分组聚合的主要内容,如果未能解决你的问题,请参考以下文章
MySQL:JSON 列值聚合到按属性分组的单个 JSON 对象中