MySql-日期分组

ops/2024/10/10 12:52:04/

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

数据库的 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.ppmy.cn/ops/25791.html

相关文章

根据标签最大层面ROI提取原始图像区域

今天要实现的任务是提取肿瘤的感兴趣区域。 有两个文件,一个是nii的原始图像文件,一个是nii的标签文件。 我们要实现的是:在标签文件上选出最大层面,然后把最大层面的ROI映射到原始图像区域,在原始图像上提裁剪出ROI…

为什么在Windows窗体项目中采用三层架构(一个项目加两个类库)

在Windows窗体项目中采用三层架构(一个项目加两个类库)是软件开发中常用的架构模式,旨在提高应用程序的可维护性、可扩展性和灵活性。这种架构通常包括以下三层: 表示层(UI层或前端):这是用户与…

QT登录界面,(页面的切换)

以登陆界面为例,(QDialog) 1.主界面先构造login 的对话框类 int main(int argc, char *argv[]) {QApplication a(argc, argv);//先显示Login的界面Study_Login_Dialog login;............ }2.Login的类,可以用自定义的信号&#…

设计模式之监听器模式ListenerPattern(三)

一、介绍 监听器模式是一种软件设计模式,在对象的状态发生改变时,允许依赖它的其他对象获得通知。在Java中,可以使用接口和回调机制来实现监听器模式。 二、代码实例 1、事件Event类 package com.xu.demo.listener;// 事件类 public class…

Week1

1. 题目背景 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。…

Git命令行操作(本地操作)

入口 1、任意目录》鼠标右键》Open Git Bash here 2、桌面快捷方式 本地库初始化 在本地库项目文件夹执行命令:git init 验证是否执行成功 .git目录中存放的是本地库相关的子目录和文件,不要删除、修改 设置签名 1、形式 用户名:tom Email地址:GoodMorning@qq.com 2、作…

mysql binlog入门

binlog 什么是binlog binlg记录了所有的表结构变更(CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…),以事件形式记录,还包含语句所执行的消耗的时间。 简单的说就是,只要对…

【unity】(1)场景

Unity的场景(Scene)是构建游戏中各种环境和级别的基础。一个场景可以包含游戏中的所有对象,如角色、道具、地形等。 创建和管理场景 创建新场景: 在Unity编辑器中,选择File > New Scene,或者使用快捷键…