一、前言

今天刚好是碰到一个报表需求,要求根据时段统计各工单的数量。这个就有点皮实了,以前都没搞过这玩意。于是研究了几下。

二、准备开始

首先一个问题,想根据时间段进行统计,这个问题先不考虑,先考虑,如果按照一小时统计呢,该怎么去做,于是就一顿操作,写出以下sql,这个基本的相信没什么难度,主要是说,怎么去单独拿到小时,这里用到“DATE_FORMAT”函数。

SELECTDATE_FORMAT( create_order_time, '%H' ) AS h,COUNT( 1 )
FROMorder_item
GROUP BYDATE_FORMAT( create_order_time, '%H' )
ORDER BYDATE_FORMAT( create_order_time, '%H' )

到这里,小时统计没问题了,那么怎么改造成符合我的需求呢,请看图片

相信聪明的人已经感觉出来的,就是其实把我们取到的小时去除以时间段的区间取整数,那么就可以得到同一区间的数据,然后这个数字在乘回去我们的区间,就可以得到上限,在加区间就是下限,最终我们得到的SQL

--   区间数字SQL
SELECT(FLOOR(DATE_FORMAT( create_order_time, '%H' ) / 2) * 2) AS h2,COUNT( 1 )
FROMorder_item
GROUP BYFLOOR(DATE_FORMAT( create_order_time, '%H' ) / 2)
ORDER BYFLOOR(DATE_FORMAT( create_order_time, '%H' ) / 2)-- 最终SQL
SELECTCONCAT(FLOOR( DATE_FORMAT( create_order_time, '%H' ) / 2 ) * 2,'-',FLOOR( DATE_FORMAT( create_order_time, '%H' ) / 2 ) * 2 + 2)AS h2,COUNT( 1 )
FROMorder_item
GROUP BYFLOOR( DATE_FORMAT( create_order_time, '%H' ) / 2 )
ORDER BYFLOOR( DATE_FORMAT( create_order_time, '%H' ) / 2 )

样图

mysql 按照某个时间段分组统计相关推荐

  1. mysql 时间段分组统计_group by 按某一时间段分组统计并查询(推荐)

    工作中要求对日志表中的时间戳字段进行分组.分组的条件是,相隔 1分钟间隔的被分到一组. 数据库表是这样的 SELECT COUNT(log_id) AS u_count FROM logdb.`log ...

  2. (SQL语句)按指定时间段分组统计

    我现在有一张表:   列名1                时间 03174190188 2009-11-01 07:17:39.217 015224486575 2009-11-01 08:01:1 ...

  3. mysql中实现分类统计查询的步骤_在MySQL中如何进行分组统计查询

    昨天和大家分享了MySQL中,如何进行聚合函数及统计函数查询,若是不清楚的话,可以去看一下我的那个文章.今天继续和大家分享,在MySQL中如何进行分组统计查询,这个在实际应用中,也会经常运用到,比如以 ...

  4. mysql聚合函数统计_mysql学习-mysql聚合函数和分组统计

    一.聚合函数 聚合函数.称为统计函数 常用的聚合函数 count()总量数 max()最大值 min()最小值 sum()和 avg()平均值 例:查询部门30的总人数(查询总人数,根据empno编号 ...

  5. mysql如何按季度分组统计_MySQL中按周、月、季、年分组统计

    根据日期,按照周.月.季.年对数据进行分组统计 一.前言 带着问题去学习,我觉得是一种非常有效的学习方法,不知下面的几个问题是否也是你所需要考虑的:被分组的日期是否连续.周是以周日为起始日,还是以周一 ...

  6. mysql 以时间段分组_根据mysql 按日期或者时间段 分组 统计的查询

    SELECT DATE_FORMAT( deteline, "%Y-%m-%d %H" ) , COUNT( * ) FROM test GROUP BY DATE_FORMAT( ...

  7. group by 按某一时间段分组统计并查询

    工作中要求对日志表中的时间戳字段进行分组.分组的条件是,相隔 1分钟间隔的被分到一组. 数据库表是这样的 SELECT COUNT(log_id) AS u_count FROM logdb.`log ...

  8. php按时间分组的sql语句,(SQL语句)按指定时间段分组统计

    ---------------------------------------Author : liangCK 梁爱兰--Comment: 小梁 爱 兰儿--Date   : 2010-01-02 1 ...

  9. mysql中按照每个月分组统计数据并且查询去年的所有数据

    SELECT * FROM user WHERE YEAR(create_time) = YEAR (date_sub(now(),INTERVAL 1 YEAR)) GROUP BY MONTH(c ...

最新文章

  1. 0.1 hint crack
  2. csv文件简介(转载)
  3. java知识点总结(二)
  4. Google地图3D城市模型下载最新实践
  5. 【增强版】快速判断工作簿中是否存在指定工作表
  6. 组策略 禁止用户策略下发到指定计算机,Win7 64位旗舰版下利用组策略禁止程序运行的设置技巧...
  7. 电脑主板各部件详细图解
  8. JS实现页面复制文字时自动加版权
  9. 无人机行业的机遇与挑战
  10. 基于PCA的图像压缩及人脸识别算法
  11. [渝粤教育] 山东大学 生物信息学 参考 资料
  12. 数据分析师是青春饭吗?年龄影响很大吗?
  13. linux安装应用程序dbd,Linux下安装DBI和DBD
  14. 推荐系统遇上深度学习(二十一)--贝叶斯个性化排序(BPR)算法原理及实战
  15. leaflet清除图层
  16. 这才是介绍项目的正确姿势,终于不用害怕面试了
  17. 委以重用的意思_形容要委以重用的诗句
  18. 贴吧怎么给公众号引流?利用贴吧引流到微信公众号
  19. FEC介绍(三)—算法推导【转载】
  20. 使用 Python 程序实现摩斯密码翻译器|Python 主题月

热门文章

  1. 编写一个用户类(Sysuser),属性包括用户名、真实姓名、年龄、出生日期、密码,类方法中包含单独修改用户年龄、判断用户名和密码、显示用户信息功能,在用户测试类中(TestSysuser),根据用户输
  2. OPPO发布智能眼镜有点中二,外表酷似龙珠“战五渣测试仪”,可悬浮显示通知和导航翻译...
  3. 解决笔记本Win7系统下玩单机游戏全屏时两边的黑框现象
  4. 每周评论:科学领域的妇女和女孩,碳足迹,Angular 9等
  5. SEO是什么,你如何定义SEO的意思?
  6. katalon学习笔记
  7. MySQL 与 mysql-connection-java 版本不对应导致出现 SQLException: Could not retrieve transation read-onl status
  8. 网站分享,希望提升自身能力的开发人员必看
  9. 织梦自定义表单如何添加提交时间?织梦留言板后台又该怎样显示用户留言时间?
  10. fundebug php,import提升导致Fundebug报错的解决方法(详细)