数据库 
首页 > 数据库 > 浏览文章

group by 按某一时间段分组统计并查询(推荐)

(编辑:jimmy 日期: 2024/5/16 浏览:3 次 )

工作中要求对日志表中的时间戳字段进行分组。分组的条件是,相隔 1分钟间隔的被分到一组。

数据库表是这样的

group by 按某一时间段分组统计并查询(推荐)

SELECT COUNT(log_id) AS u_count FROM logdb.`log`
GROUP BY TIMESTAMP-TIMESTAMP%(1*60) 

其中timestamp 是数据库时间字段。 括号中的1 是间隔时间,1分钟。 如果是1小时,就写60,如果是30s 就写0.5
结果

group by 按某一时间段分组统计并查询(推荐)

那被分组的id 如何解决呢?分完组我们还需要 哪些记录被分到哪些组了。
我们可以这么做。

SELECT COUNT(log_id) AS u_count ,GROUP_CONCAT(DISTINCT log_id ORDER BY log_id DESC ) AS ids FROM logdb.`log`
GROUP BY TIMESTAMP-TIMESTAMP%(0.5*60) 

GROUP_CONCAT(DISTINCT log_id ORDER BY log_id DESC )
这里默认使用 , 分割 将 log_id穿成字符串,并且这些id是不重复,且排序递降。

group by 按某一时间段分组统计并查询(推荐)

上一篇:Microsoft SQL Server数据库各版本下载地址集合
下一篇:Zabbix监控SQL Server服务状态的方法详解
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网