900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql 分组统计 原则_mysql数据库分组统计--根据时间分组统计

mysql 分组统计 原则_mysql数据库分组统计--根据时间分组统计

时间:2020-07-09 08:33:37

相关推荐

mysql 分组统计 原则_mysql数据库分组统计--根据时间分组统计

引言

环境上有一个实时表库,该表存储了一天24小时定时任务.马上打算进行软件升级,领导让分析一下,什么时间升级软件,对程序的影响最小.

这样就需要进行数据统计,按小时进行分组,统计出每个小时的运行任务个数.

方案

方法1 sql+excel分组

sql: select * from t_jobs #查询表中所有的记录(表中只有24小时的数据)查询记录数466条.

查询的数据导出到excel中,如下图:

然后,在时间栏,进行筛选函数,得到自分组,可以查看每个分组的个数和详细.筛选结果如下图:

优点:查看方便,尤其是可以得知在某个时间段内,有多少个具体的程序在运行.

缺点:不直观,想要知道24小时之内的程序运行分布状况,需要一个个去查看,比较麻烦.

方案2. sql分组查询

sql:SELECTDATE_FORMAT(planTime,'%Y%m%d%H')hours,COUNT(any_value(planTime)) FROM t_jobsGROUP BY hours;

将结果导出后,结果显示如下:

sql说明:any_value()函数,主要是为了避免mysql的group查询函数失效,因为MySQL 5.7.5后only_full_group_by成为sql_mode的默认选项之一,这会导致在查询的时候,如果不加上any_value()函数,则会报错.

优点:可以很清楚看到程序分布情况

缺点:不能像excel一样查看具体的流程信息.

总结根据自己需要进行使用.同时避免mysql版本不同带来的脚本兼容性问题.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。