SQL Server中group by语句怎么做分组统计
Admin 2022-06-29 群英技术资讯 610 次浏览
工作中要求对日志表中的时间戳字段进行分组。分组的条件是,相隔 1分钟间隔的被分到一组。
数据库表是这样的
SELECT COUNT(log_id) AS u_count FROM logdb.`log` GROUP BY TIMESTAMP-TIMESTAMP%(1*60)
其中timestamp 是数据库时间字段。 括号中的1 是间隔时间,1分钟。 如果是1小时,就写60,如果是30s 就写0.5
结果
那被分组的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是不重复,且排序递降。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
SQL RDBMS是关系数据库管理系统(Relational Database Management System)的缩写。RDBMS是SQL的基础,也是所有现代数据库系统(如MS SQL Server、IBMDB2、Oracle、MySQL和MicrosoftAccess)的基础。关系数据库管理系统(Relational Database Management System,RDBMS)是一种基于E.F.Codd提出的关系模型的数据库管理系统。
这篇文章介绍了SQL Server使用PIVOT与unPIVOT实现行列转换的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章介绍了SQL Server中序列SEQUENCE的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
视图是SQL学习中很重要的一个知识点,是需要掌握的,对此,这篇文章就给大家介绍一下关于视图的概念,使用和视图的增删查改操作,有这方面学习需要的朋友就继续往下看吧。
序列是根据需要产生的一组有序整数:1, 2, 3 ... 序列在数据库中经常用到,因为许多应用要求数据表中的的每一行都有一个唯一的值,序列为此提供了一种简单的方法。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008