当前位置: 首页 > news >正文

MySql-日期分组

一、分别统计各时间各类型数据条数

数据库的 request_time字段

数据类型:timestamp

默认值:CURRENT_TIMESTAMP

例子: 2024-01-26 08:25:48 

原数据:

1、将数据按照日期(年月日)形式输出

按照request_time字段分组以(年月日形式)输出

   SELECTDATE(request_time) AS date,SUM(CASE WHEN task_command_value = 1 THEN 1 ELSE 0 END) AS count_1SUM(CASE WHEN task_command_value = 2 THEN 1 ELSE 0 END) AS count_2,SUM(CASE WHEN task_command_value = 3 THEN 1 ELSE 0 END) AS count_3,SUM(CASE WHEN task_command_value = 4 THEN 1 ELSE 0 END) AS count_4,SUM(CASE WHEN task_command_value = 5 THEN 1 ELSE 0 END) AS count_5FROM `数据库名`.表名GROUP BY DATE(request_time)ORDER BY DATE(request_time) DESC

输出结果:

2、将数据按照每月(月)形式输出

SELECTMONTH(request_time) AS date,SUM(CASE WHEN task_command_value = 1 THEN 1 ELSE 0 END) AS count_1,SUM(CASE WHEN task_command_value = 2 THEN 1 ELSE 0 END) AS count_2,SUM(CASE WHEN task_command_value = 3 THEN 1 ELSE 0 END) AS count_3,SUM(CASE WHEN task_command_value = 4 THEN 1 ELSE 0 END) AS count_4,SUM(CASE WHEN task_command_value = 5 THEN 1 ELSE 0 END) AS count_5
FROM `数据库名`.表名
GROUP BY MONTH(request_time)
ORDER BY MONTH(request_time) DESC

输出结果:缺点是如果两年的同月数据无法区别

3、将数据按照年月形式输出(使用DATE_Format函数)

SELECTDATE_FORMAT(request_time,'%y-%m') AS date,SUM(CASE WHEN task_command_value = 1 THEN 1 ELSE 0 END) AS count_1,SUM(CASE WHEN task_command_value = 2 THEN 1 ELSE 0 END) AS count_2,SUM(CASE WHEN task_command_value = 3 THEN 1 ELSE 0 END) AS count_3,SUM(CASE WHEN task_command_value = 4 THEN 1 ELSE 0 END) AS count_4,SUM(CASE WHEN task_command_value = 5 THEN 1 ELSE 0 END) AS count_5
FROM `数据库名`.表名
GROUP BY DATE_FORMAT(request_time,'%y-%m')
ORDER BY DATE_FORMAT(request_time,'%y-%m') DESC

输出结果:

二、分别统计各时间各类型数据总值

数据库的 date字段

数据类型:date

例子: 2024-04-09

原数据:

1、将数据按月汇总输出

SELECTDATE_FORMAT(date,'%y-%m') as date,SUM(everyday_1_bill) AS num1,SUM(everyday_2_bill) AS num2,SUM(everyday_3_bill) AS num3,Sum(everyday_4_bill) AS num4,SUM(everyday_5_count) AS num5,SUM(everyday_6_count) AS num6,SUM(everyday_7_count) AS num7,SUM(everyday_8_count) AS num8
FROM `数据库名`.数据库表名
GROUP BY DATE_FORMAT(date,'%y-%m')

输出结果:

2、将数据按周汇总输出(%U是周)

SELECTDATE_FORMAT(date,'%y-%m %U') as date,SUM(everyday_1_bill) AS num1,SUM(everyday_2_bill) AS num2,SUM(everyday_3_bill) AS num3,Sum(everyday_4_bill) AS num4,SUM(everyday_5_count) AS num5,SUM(everyday_6_count) AS num6,SUM(everyday_7_count) AS num7,SUM(everyday_8_count) AS num8
FROM `数据库名`.数据库表名
GROUP BY DATE_FORMAT(date,'%y-%m %U')

输出结果:

http://www.lryc.cn/news/342603.html

相关文章:

  • 有哪些方法可以在运行时动态生成一个Java类?
  • JAVA两个线程交替打印实现
  • 【C语言】学习C语言
  • C 深入指针(2)
  • FileLink跨网文件交换,推动企业高效协作|半导体行业解决方案
  • 代码随想录day56 | 动态规划P16 | ● 583. ● 72. ● 编辑距离总结篇
  • ASP.NET网络在线考试系统
  • 天锐绿盾 | 办公加密系统,源代码防泄密、源代码透明加密、防止开发部门人员泄露源码
  • Day1| Java基础 | 1 面向对象特性
  • Spring 事务失效的几种情况
  • 【Linux 命令操作】如何在 Linux 中使用多行注释呢?
  • 【RPC】Dubbo接口测试
  • PVZ2 植物克僵尸【第二期】
  • libcity笔记:libcity/data/batch.py
  • 【Java EE】多线程(二)Thread 类与常用方法
  • AGV无人叉车 | 我们为什么要投资“智慧生产”
  • 【C++】滑动窗口:将x减到0的最小操作数
  • 运动控制“MC_MoveVelocity“功能块详细应用介绍
  • 9种单片机常用的软件架构
  • PyQt5中重要的概念:信号与槽
  • MacOS快速安装FFmpeg,并使用FFmpeg转换视频
  • docker部署nginx并配置https
  • 五一小长假,景区智慧公厕发挥了那些作用?
  • Spring - 9 ( 10000 字 Spring 入门级教程 )
  • shpfile转GeoJSON;控制shp转GeoJSON的精度;如何获取GeoJSON;GeoJSON是什么有什么用;GeoJSON结构详解(带数据示例)
  • 没有强有力的科技支撑,就没有保密工作的高质量发展。新修订的《中华人民共和国保守国家秘密法》在总则中新增保密科技创新有关内容包括()
  • 【快速入门】数据库的增删改查与结构讲解
  • 使用AIGC生成软件类图表
  • 机器学习实践:超市商品购买关联规则分析
  • 自动化图像识别:提高效率和准确性的新途径