遇到了按照时间做分组排序查询统计的需求,故此想利用date_format函数去做不同时间维度的分组;
select uuid, count(*) AS recordCount , DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%S') AS
record_date from xxx_records
group by record_date, uuid order by recordCount DESC;
说明: record_time的类型是timestamp
%Y 年 4 位
%m月数值(00-12)
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%H 小时 (00-23)
%h 小时 (01-12)
%k 小时 (0-23)
%i 分钟,数值(00-59)
%S 秒(00-59)
所以以上sql就是按照秒位和uuid去做分组,用来统计一些实际的调用情况。
另外,注意%h的时候会把两种时间的都统计进来,比如10会把早上10点和晚上22点都统计进去。
网友评论