mysql 时间间隔分组_sql的两种以时间间隔分组的方法
1、以每個小時來分組統計次數
SELECT
COUNT(DISTINCT id) u_count,
FROM_UNIXTIME(
cTime,
'%Y-%m-%d %H:00:00'
) AS hours,
CONCAT(FROM_UNIXTIME(cTime, '%Y-%m-%d %H:00'),'-',FROM_UNIXTIME(cTime, '%H')+1,":00") AS `date`
FROM
“表名”
WHERE “自定義的條件”
GROUP BY
hours
ORDER BY cTime;
注釋:cTime是你表中的存儲時間的字段,cTime是時間戳
u_count是統計個數
2、以每分鐘數來統計次數
select count(id) as u_count, FROM_UNIXTIME((cTime-cTime%(10*60)),'%Y-%m-%d %H:%i:%s') as ten_min from "表名"
where “條件” ?and cTime>=UNIX_TIMESTAMP('開始時間點')
and cTime
group by cTime-cTime%(10*60);
注釋:
cTime是你表中的存儲時間的字段,cTime是時間戳
開始結束的時間點格式:yyyy-mm-dd hh:ii:ss
u_count是統計個數
3、以每小時數來統計次數(數據庫是TIMESTAMP和datatime)
select count(id), FROM_UNIXTIME(UNIX_TIMESTAMP(created_at)-(UNIX_TIMESTAMP(created_at)%(60*60)),'%Y-%m-%d %H:%i:%s') as mintime FROM "表名" WHERE “條件” GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(created_at)-(UNIX_TIMESTAMP(created_at)%(60*60)),'%Y-%m-%d %H:%i:%s');
總結:
第一方法,自定義地方不多
第二種方法,自由度大,一是可以調整每多少分鐘來分組,在cTime-cTime%(10*60)里面的10代表10min。二是時間段也是可以自定義。
總結
以上是生活随笔為你收集整理的mysql 时间间隔分组_sql的两种以时间间隔分组的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 获取mp4 缩略图_java获
- 下一篇: mysql 特殊函数_MySQL中sle