需求:将数据库中每分钟一条的数据表,从9:30取到22:00 ,以半小时为单位汇总,并输出excel。

数据表字段:id(序号)、incount(计数)、cdate(数据时间)

表名:m_temp

难点:时间处理

解决办法:使用DATE_FORMAT、CONCAT、Date、Hour、Minute、Floor函数将时间处理成半小时,在将这段时间的数据查询时 输出cdate统一变为  09:30,然后在group by cdate ,用sum(incount)求和。

1.处理时间:

示例:2018-08-21 09:30:00   至   2018-08-21 22:00:00

第一个半小时 09:30 至 10:00

将这段时间的数据查询时 输出cdate统一变为  09:30,然后在group by cdate ,sum(incount)

将分钟取出 /30  , 0-29分 结果为0 ,30-59分 结果为1 在乘以30 分钟即变为00 或者 30

date(cdate),取出年月日;

hour(cdate),取出小时;

minute(cdate),取出分钟;

计算(minute(cdate))/30 )*30,结果为0或30;

floor( (minute(cdate))/30 )*30), 处理成整数;

concat(date(cdate),' ',hour(cdate),':',floor( (minute(cdate))/30 )*30) ,按照日期格式进行拼接

DATE_FORMAT( concat(date(cdate),' ',hour(cdate),':',floor( minute(cdate)/30 )*30) ,'%Y-%m-%d %H:%i') ,转换成date类型

完整sql:

select sum(incount),dataStartTime from (
select incount, DATE_FORMAT( concat(date(cdate),' ',hour(cdate),':',floor( minute(cdate)/30 )*30) ,'%Y-%m-%d %H:%i')  as dataStartTime   from m_temp WHERE cdate>='2018-08-21 09:30' and cdate<='2018-08-21 22:00'  ORDER BY dataStartTime
) a
group by DATE_FORMAT( dataStartTime ,'%Y-%m-%d %H:%i')
into outfile('c:/2018-08-21Data.xls');

Mysql数据处理,按照半小时汇总数据,相关推荐

  1. mysql统计每半小时内的数据(查寻某段时间内的数据)

    mysql统计每半小时内的数据(查寻某段时间内的数据) 表结构 sql展示 sql说明 结果展示 思考 需求:统计某段时间内的数据,以半小时为单位统计 表结构 sql展示 SELECT @rank:= ...

  2. hive+mysql+速度_半小时搞定Hadoop+Mysql+Hive+Python

    1. 说明 搭建过Hadoop集群的小伙伴一定知道,如果不用docker,半小时配好Hadoop+Mysql+Hive(后简称Hive)肯定是胡吹,有了Docker镜像,没有说明文档,配好了也不一定会 ...

  3. mysql某月按小时统计数据_Mysql按周,按月,按日,按小时分组统计数据

    按周 select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; 按月 ...

  4. sql查询查询半小时内数据的方法

    select * from Messages where datediff(minute ,M_Time,'2018-01-02 12:22:00')<10 //只需要换掉'2018-01-02 ...

  5. MySQL创建字段+数据处理函数+汇总数据(聚集函数)+分组数据

    [0]README 0.1)本文部分文字描述转自"MySQL 必知必会",旨在review"MySQL创建字段+数据处理函数+汇总数据(聚集函数)+分组数据" ...

  6. mysql按天,小时,半小时,N分钟,分钟进行数据分组统计

    mysql按天,小时,半小时,N分钟,分钟进行数据分组统计 mysql不同时间粒度下的分组统计 按天统计 按小时统计 按半小时统计 按N分钟统计 按分钟统计 mysql不同时间粒度下的分组统计 我们在 ...

  7. Mysql统计每个小时或半小时数据的数量

    Mysql 查询一天中,每个小时数据的数量 Mysql 查询一天中每半小时记录的数量

  8. mysql利用存储过程批量插入一千万数据(半小时)

    示例: 向user表中插入一千万条数据,其中user_id11位手机号随机,可以重复:age为18-27之间:count随机金额,八位小数:status二百万数据为1,八百万数据为0. -- 如果该名 ...

  9. hadooppythonsql_半小时搞定Hadoop+Mysql+Hive+Python

    1. 说明 搭建过Hadoop集群的小伙伴一定知道,如果不用docker,半小时配好Hadoop+Mysql+Hive(后简称Hive)肯定是胡吹,有了Docker镜像,没有说明文档,配好了也不一定会 ...

最新文章

  1. 多态定义、多态实现、多态分类。
  2. 介绍几个好用的android自定义控件
  3. 新建Web网站与新建Web应用程序的区别
  4. 跳转到页面后加载一个请求的方法
  5. 一款net平台软件之汉化
  6. 怎么在html显示已登录状态,jQuery Ajax 实现在html页面实时显示用户登录状态
  7. ICCV2021 微软CMU提出TACo:同时用三个损失函数进行多模态对齐!性能SOTA!
  8. Node后端数据渲染
  9. dpkg-buildpackage: error: debian/rules binary subprocess was killed by signal 2
  10. 牛客网_Wannafly模拟赛1
  11. 三成手机电子书暗藏陷阱 诱骗下载强行吸费
  12. 小程序使用腾讯视频插件及插件未授权使用
  13. 文献管理者ReferenceManager开发及使用
  14. 光盘安装linux系统
  15. 文樾杰出五金交电进销存管理系统 v6.12 下载
  16. (BAT批处理)批量文件夹重命名,要求是在原文件夹名前加上英文字母前缀aa
  17. ABAP 发布webservice调用外部webservice
  18. eclipse的常用操作
  19. PlayCanvas学习教程总结
  20. 做一个快乐的程序员,去感受爱

热门文章

  1. 疫情数据爬取,可视化及其预测
  2. 记一次java实现excel导出
  3. 商学院·基础----02 不要为打翻的牛奶哭泣(沉没成本)
  4. 无所不能的Java系列文章
  5. Excel里如何显示“开发工具”?
  6. jQuery引起的用layer弹出层上传文件不能获取文件名的解决(thinkphp5)
  7. 【连载】draft伦理
  8. matlab trapz二重积分函数_如何使用 MATLAB 求解定积分、不定积分和多重积分问题...
  9. 说一下国内做MES的几类厂商
  10. Python二进制数据处理