mysql按照日期分组统计数据
目录
- 前言
- 按天统计
- 按周统计
- 按月统计
- 按年统计
- date_format参数
前言
mysql的date_format函数想必大家都使用过吧,一般用于日期时间转化
# 例如
select DATE_FORMAT('2023-01-01 08:30:50','%Y-%m-%d %H:%i:%s')
# 可以得出 2023-01-01 08:30:50# 或者是
select DATE_FORMAT('2023-01-01 08:30:50','%Y-%m-%d')
# 可以得出
不过很多时间不仅仅仅限于这些最基础的使用,当我们需要对于时间的数据有更高的要求时,就需要对这个函数有更多的了解了,例如按一定的时间段分组统计这段时间的数据,本期我们主要讲这个分组统计的操作,下面直接进入正题
按天统计
按天统计是一个比较基础的统计方式,大部分人也应该能直接写出来
select date_format(o.bill_date,'%Y-%m-%d') evertday,COUNT(*) orderNumFROM table oGROUP BY evertdayORDER BY evertday DESC

按周统计
按周统计就比较麻烦一点了,我这边提供了两种思路:
第一种:
SELECTsubdate(date_format(o.bill_date,'%Y-%m-%d'),date_format(o.bill_date,'%w')) weekend,COUNT(*) orderNumFROM test oGROUP BY weekendORDER BY weekend DESCLIMIT 9

这边可以看出日期已经按照周进行排序分组了,7月30到8月5号的数据都已经统计到了7月30这个weekend中
我们简单剖析一下:
首先date_format(o.bill_date,'%Y-%m-%d')大家都很清楚会把日期变成yyyy-MM-dd形式

而date_format(o.bill_date,'%w')会统计这天是这周的礼拜几,这个参数我在最后整理了一张表格可供大家查看使用
那么8月2号正好是礼拜三,再通过subdate函数去减一下这个日期就可以统计出来一个对应的时间了,或者也有朋友喜欢用DATE_SUB函数都是一样的效果,这样就统计出来了上周末的时间,也就是上周末到这周末是一个轮回

第二种:
-- 2、
select -- weekday(bill_date) as weekday,date_format(date_add(bill_date, interval - (weekday(bill_date) +1) day),'%Y-%m-%d') as monday,count(1)
from t
group by monday
order by monday desc
总体的思路都差不多,计算出了上周日的时间点进行group by

按月统计
按月统计的话就是另外一种思路了,因为按周的统计的话还存在日的概念,而按月统计的话就可以省略掉日期了
selectDATE_FORMAT( bill_date, '%Y-%m' ) months,count(1) count
fromt
group by months
order by months desc

按年统计
这个跟按月统计一个道理,只统计年份就可以了
selectDATE_FORMAT( bill_date, '%Y' ) months,count(1 ) count
fromt
group by months
order by months desc

date_format参数
| 格式 | 描述 |
|---|---|
| %M | 月名字(January……December) |
| %W | 星期名字(Sunday……Saturday) |
| %D | 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) |
| %Y | 年, 数字, 4 位 |
| %y | 年, 数字, 2 位 |
| %a | 缩写的星期名字(Sun……Sat) |
| %d | 月份中的天数, 数字(00……31) |
| %e | 月份中的天数, 数字(0……31) |
| %m | 月, 数字(01……12) |
| %c | 月, 数字(1……12) |
| %b | 缩写的月份名字(Jan……Dec) |
| %j | 一年中的天数(001……366) |
| %H | 小时(00……23) |
| %k | 小时(0……23) |
| %h | 小时(01……12) |
| %I | 小时(01……12) |
| %l | 小时(1……12) |
| %i | 分钟, 数字(00……59) |
| %r | 时间,12 小时(hh:mm:ss [AP]M) |
| %T | 时间,24 小时(hh:mm:ss) |
| %S | 秒(00……59) |
| %s | 秒(00……59) |
| %p | AM或PM |
| %w | 一个星期中的天数(0=Sunday ……6=Saturday ) |
| %U | 星期(0……52), 这里星期天是星期的第一天 |
| %u | 星期(0……52), 这里星期一是星期的第一天 |
| %% | 一个文字“%” |
相关文章:
mysql按照日期分组统计数据
目录 前言按天统计按周统计按月统计按年统计date_format参数 前言 mysql的date_format函数想必大家都使用过吧,一般用于日期时间转化 # 例如 select DATE_FORMAT(2023-01-01 08:30:50,%Y-%m-%d %H:%i:%s) # 可以得出 2023-01-01 08:30:50# 或者是 select DATE_FOR…...
19 | 分类模型评估指标
文章目录 Python分类模型评估指标准确率(Accuracy)精确率(Precision)召回率(Recall)F1值(F1 Score)混淆矩阵(Confusion Matrix)ROC曲线和AUC值1. 准备数据集2. 初始化并训练逻辑回归模型3. 获取预测概率并计算ROC曲线和AUC值4. 绘制ROC曲线5. 整合代码结论Python分类…...
【Pycharm2022.2.1】python编辑器最新版安装教程(包含2017-2022的所有版本win/mac/linux)
前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 永久安装 Pycharm(2017-2022的win/mac/linux所有版本)/ IntelliJ IDEA也可以, 按照本文教程所写的,具体步骤跟着下面的图文教程一步一步来就行,一分钟即可搞定,过…...
深度学习-相关概念
Adam优化器 Adam,Adaptive Moment Estimation,自适应矩估计。是2014年提出的一种万金油式的优化器,使用起来非常方便,梯度下降速度快,但是容易在最优值附近震荡。竞赛中性能会略逊于SGD,毕竟最简单的才是最…...
眼科医生推荐的台灯 护眼台灯买什么好?
我家孩子需要一个护眼灯,就请教了我的一个医生朋友。大家都知道医生白天对着电脑长时间的工作,晚上还要看书,查文献,写论文,选一个对眼睛友好的高质量护眼台灯对他们是刚需,同时又是医生,所以他…...
如何使用 ChatGPT 为 Midjourney 或 DALL-E 等 AI 图片生成提示词
人工智能为创意产业开辟了一个充满可能性的全新世界。人工智能最令人兴奋的应用之一是生成独特且原创的艺术品。Midjourney 和 DALL-E 是人工智能生成艺术的两个突出例子,吸引了艺术家和艺术爱好者的注意。在本文中,我们将探索如何使用 ChatGPT 生成 AI …...
【Linux后端服务器开发】Reactor模式实现网络计算器
目录 一、Reactor模式概述 二、日志模块:Log.hpp 三、TCP连接模块:Sock.hpp 四、非阻塞通信模块:Util.hpp 五、多路复用I/O模块:Epoller.hpp 六、协议定制模块:Protocol.hpp 七、服务器模块:Server.…...
【WebRTC---源码篇】(二:一)PeerConnection详解
Track的添加 上图是整体流程图 RTCErrorOr<rtc::scoped_refptr<RtpSenderInterface>> PeerConnection::AddTrack(rtc::scoped_refptr<MediaStreamTrackInterface> track,const std::vector<std::string>& stream_ids) {RTC_DCHECK_RUN_ON(signal…...
使用tinyxml解析和修改XML文件
首先要清楚XML文件包含哪些元素: 他是由元素、文本或者两者混合物组成。元素可以拥有属性,元素是指从开始标签到结束标签的部分。 <?xml version"1.0" encoding"UTF-8" ?> <books><book id"1001">&…...
[Docker实现测试部署CI/CD----相关服务器的安装配置(1)]
目录 0、CI/CD系统最终架构图规划IP地址 1、git配置Git下载pycharm配置gitidea配置git 2、GitLab安装与配置主机要求拉取镜像定义 compose.yml启动gitlab浏览器访问并修改密码查看登录密码修改密码 3、SonarQube 安装与配置拉取镜像修改虚拟内存的大小启动SonarQube登录 SonarQ…...
【自动化运维】编写LNMP分布式剧本
目录 一 playbook编写LNMP1.1环境设置1.2编写Nginx剧本1.3、编写Mysql剧本1.4准备PHP剧本 一 playbook编写LNMP 1.1环境设置 ip服务192.168.243.100ansible192.168.243.102nginx192.168.243.103PHP192.168.243.104mysql 1.2编写Nginx剧本 1.编写Nginx源 mkdir -p /etc/ans…...
用Rust实现23种设计模式之单例
话不多说,上代码! 1. 使用Arc Mutex 在这个例子中,我们使用了 Arc (原子引用计数)和 Mutex (互斥锁)来实现线程安全的单例。通过 get_instance 方法,我们可以获取到单例实例&…...
小米平板6将推14英寸版!与MIX Fold 3同步推出
今天,知名数码博主数码闲聊站爆料消息,称小米平板6将推出一款Max版本,预计与小米MIX Fold 3同步推出。 据介绍,小米平板6 Max将是小米首款14英寸大屏的旗舰平板,平板搭载骁龙8处理器,在性能释放、影音表现、…...
webpack 的一点知识
多个入口共享多个模块 在使用webpack搭建多页面应用时候需要多个入口,这个时候需要考虑到模块共享问题了 可以使用entry.dependOn 来处理 entry: {home: {import: "./pages/home/index.js",// 其中vendors里边使用到模块,不会打入home对应的…...
Python 双目摄像机控制(windows + linux)
一、Windows 下载 Download libusb-win32-devel-filter-1.2.6.0.exe (libusb-win32) 安装,在弹出框中选择摄像机usb设备 pip install pyusb pip install libusb 代码如下,注意如果报错要以管理员权限运行: import cv2 import usb.corecam…...
mybatisplus实现自动填充 时间
mybatisplus实现自动填充功能——自动填充时间 数据库表中的字段 创建时间 (createTime)更新时间 (updateTime) 每次 增删改查的时候,需要通过对Entity的字段(createTime,updateTime)进行set设置,但是,每…...
P5732 【深基5.习7】杨辉三角
题目描述 给出 n ( n ≤ 20 ) n(n\le20) n(n≤20),输出杨辉三角的前 n n n 行。 如果你不知道什么是杨辉三角,可以观察样例找找规律。 输入格式 输出格式 样例 #1 样例输入 #1 6样例输出 #1 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11.题目…...
ubuntu调整路由顺序
Ubuntu系统跳转路由顺序 1、安装ifmetric sudo apt install ifmetric2、查看路由 route -n3、把Iface下面的eth1调到第一位 sudo ifmetric eth1 0命令中eth1是网卡的名称,更改网卡eth1的跃点数(metric值)为0(数值越小…...
集成学习算法是什么?如何理解集成学习?
什么是集成学习? 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。 机器学习的两个核心任务 任务一࿱…...
npm配置最新淘宝镜像
目录 1、设置淘宝镜像2、查看源 1、设置淘宝镜像 默认的官方镜像:https://registry.npmjs.org,切换国内淘宝镜像,访问下载更快。 npm config set registry https://registry.npmmirror.com/其他,如pnpm: pnpm confi…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)
漏洞概述 漏洞名称:Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号:CVE-2023-25194 CVSS评分:8.8 影响版本:Apache Kafka 2.3.0 - 3.3.2 修复版本:≥ 3.4.0 漏洞类型:反序列化导致的远程代…...
ffmpeg(三):处理原始数据命令
FFmpeg 可以直接处理原始音频和视频数据(Raw PCM、YUV 等),常见场景包括: 将原始 YUV 图像编码为 H.264 视频将 PCM 音频编码为 AAC 或 MP3对原始音视频数据进行封装(如封装为 MP4、TS) 处理原始 YUV 视频…...
