查询统计当前日期往前推近七天每天的记录数

news2025/1/10 1:31:50

1、查询统计当前日期往前推近七天每天的记录数。

并且如果某一天没有数据,则该天不会显示在结果集中,也不会用零值补充

SELECT date_format(create_time, '%Y-%m-%d'), count(*)
FROM your_table
WHERE create_time >= date_sub(curdate(), interval 6 day)
GROUP BY date_format(create_time, '%Y-%m-%d');

其中,your_table 是您需要查询的数据表名称,create_time 是日期字段名。

只显示有数据的日期

在这里插入图片描述

2、统计当前日期往前推近七天每天的记录数,并用零值补充那些没有数据的日期

SELECT 
    DATE_SUB(CURDATE(), INTERVAL seq.seq DAY) AS date,
    COALESCE(COUNT(yt.create_time), 0) AS count
FROM
    (SELECT 0 AS seq UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
    UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) AS seq
LEFT JOIN your_table yt ON DATE(yt.create_time) = DATE_SUB(CURDATE(), INTERVAL seq.seq DAY)
WHERE
    DATE(yt.create_time) >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
GROUP BY date
ORDER BY date;


//----------------------------------------------------------------------------
your_table 替换为您需要查询的表名,create_time 替换为您的日期字段名。

这个查询语句使用了一个子查询 seq 来生成连续的数字序列,然后通过左连接和日期函数来统计每天的记录数。使用 COALESCE 函数来将空值替换为零。结果集将按日期升序排列。

这样,即使某一天没有数据,也会在结果集中显示,并用零值进行补充。

也只显示有数据的日期

在这里插入图片描述

3、统计当前日期零点往前推近七天每天的记录数,并用零值补充那些没有数据的日期

SELECT 
    DATE_FORMAT(date_range.date, '%Y-%m-%d') AS date,
    COALESCE(COUNT(yt.create_time), 0) AS count
FROM
    (SELECT CURDATE() - INTERVAL (seq.seq) DAY AS date
        FROM (SELECT @rownum:=@rownum+1 AS seq
            FROM (SELECT 0 UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
                  UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) r,
                (SELECT @rownum:=0) t) AS seq) AS date_range
LEFT JOIN your_table yt ON DATE(yt.create_time) = date_range.date
GROUP BY date
ORDER BY date;

//-----------------------------
your_table 替换为您需要查询的表名,create_time 替换为您的日期字段名。

这个查询语句使用了一个子查询 seq 来生成连续的数字序列,然后通过左连接和日期函数来统计每天的记录数。使用 COALESCE 函数将空值替换为零。结果集将按日期升序排序。

这样,即使某一天没有数据,也会在结果集中显示,并用零值进行补充。

没有数据或者时间不存在以”0“ 填充

在这里插入图片描述

4、统计当前日期零点往前推近七天每天的记录数,并用零值补充那些没有数据或者不存在的日期,

SELECT 
    DATE_FORMAT(date_range.date, '%Y-%m-%d') AS date,
    COALESCE(COUNT(yt.create_time), 0) AS count
FROM
    (SELECT CURDATE() - INTERVAL (seq.seq) DAY AS date
        FROM (SELECT @rownum:=@rownum+1 AS seq
            FROM (SELECT 0 UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
                  UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) r,
                (SELECT @rownum:=0) t) AS seq) AS date_range
LEFT JOIN your_table yt ON DATE(yt.create_time) = date_range.date
WHERE
    date_range.date BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 DAY) AND CURDATE()
GROUP BY date
ORDER BY date;



//--------------------------

将 your_table 替换为您需要查询的表名,create_time 替换为您的日期字段名。

这个查询语句使用了一个子查询 seq 来生成连续的数字序列,然后通过左连接和日期函数来统计每天的记录数。使用 COALESCE 函数将空值替换为零。结果集将按日期升序排序。

在查询的 WHERE 子句中,我们只选择那些在过去七天内的日期。如果某一天没有数据或者不存在,也会在结果集中显示,并用零值进行补充。

注意:在这个查询中,我们使用的是 CURDATE() 而不是 CURRENT_TIMESTAMP,因为 CURDATE() 表示的是当天零点的日期,而 CURRENT_TIMESTAMP 表示的是当前时间。

没有数据或者时间不存在以”0“ 填充

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

恒合仓库 - 采购单管理模块

采购单管理模块 文章目录 采购单管理模块一、添加采购单(核心)1.1 采购流程1.2 采购单实体类1.3 添加采购单1.3.1 Mapper1.3.2 Service1.3.3 Controller1.3.4 效果图 二、采购单管理模块2.1 仓库数据回显2.1.1 Mapper2.1.2 Service2.1.3 Controller2.1.4 效果图 2.2 采购单列表…

Docker - Docker启动的MySql修改密码

基于上篇文章《Docker - Docker安装MySql并启动》,在Docker中启动了mysql服务,但是密码设置成了123456,想起来学生时代数据库被盗走,然后邮箱收到被勒索BTC的场景还历历在目😭,密码不能再设置这么简单了啊&…

【prometheus+grafana】快速入门搭建-服务监控各插件及企业微信告警

目录 1. 安装qywechat_webhook插件通知企业微信 1.1. 新建目录/opt/prometheus/qywechathook/conf 1.2. 新建编辑wx.js文件 1.3. 运行启动容器 1.4. 查看容器启动情况 1.5 企业微信通知地址为: 2. 安装altermanager 2.1. 下载altermanager 2.2. 解压alterm…

Linux 远程登录(Xshell7)

为什么需要远程登录Linux?因为通常在公司做开发的时候,Linux 一般作为服务器使用,而服务器一般放在机房,linux服务器是开发小组共享,且正式上线的项目是运行在公网,因此需要远程登录到Liux进行项日管理或者…

LeetCode算法二叉树—二叉树的中序遍历

目录 94. 二叉树的中序遍历 - 力扣(LeetCode) 代码: 运行结果: 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2&am…

Linux--线程 创建、等待、退出

Linux上线程开发API概要 多线程开发的最基本概念主要包含:线程,互斥锁,条件。   线程 3 种操作:线程的创建,退出,等待。   互斥锁 4 种操作:创建,销毁,加锁和解锁。…

iterm2 配置自动登录跳板机,无需输入密码和google验证码

1、准备:编写Python脚本计算生成google身份验证码,参考python3 实现 google authenticator 认证/校验_我要买GTR45的博客-CSDN博客 脚本拿来就可以用,只需要替换脚本中的secret字段的值为自己的密钥即可 2、在~/.ssh/目录下编写expect脚本 …

多台群晖实现按计划WOL网络自动唤醒数据冷备份

几年前买了2盘位的DS218,但是随着照片的增加已经不够用。年中购入了4盘位的群晖DS923、2块16T西数数企业级硬盘、1块2T intel企业级 SSD 1.什么是冷备份 冷备是离线备份,备份好的数据可以单独存取,定期冷备可以保证数据安全,适合…

怎样快速打开github.com

1访问这个网站很慢是因为有DNS污染,被一些别有用心的人搞了鬼了, 2还有一个重要原因是不同的DNS服务器解析的速度不一样。 1 建议设置dns地址为114.114.114.114.我觉得假设一个县城如果有一个DNS服务器的话,这个服务器很可能不会存储…

求组合数(递归版)(杨辉三角形)

description 请编写递归函数&#xff0c;求组合数。 函数原型 double Cmb(int x, int y); 说明&#xff1a;x 和 y 为非负整数&#xff0c;且 x≥y&#xff0c;函数值为组合数 C x y ​ 。 裁判程序 #include <stdio.h> double Cmb(int x, int y); int main() { int m…

基于华为云云耀云服务器L实例下的场景体验 | Docker可视化工具Portainer

基于华为云云耀云服务器L实例下的场景体验 | Docker可视化工具Portainer 1. 简介2. 准备工作3. 工具配置3.1. 配置安全组3.2. 初始化配置Portainer 4. 使用Portainer部署MySQL容器4.1. 创建MySQL容器4.2. 连接MySQL容器 1. 简介 随着云计算时代的进一步深入&#xff0c;越来越多…

【计算机网络笔记三】传输层

端口 在网络中如何标记一个进程&#xff1f; TCP/IP 体系的传输层使用【端口号】来标记区分应用层的不同应用进程。这里说的端口是一个逻辑的概念&#xff0c;并不是实实在在的物理端口。 端口号使用 16 比特表示&#xff0c;取值范围是 0 ~ 65535&#xff0c;端口号分为以…

「大数据-2.0」安装Hadoop和部署HDFS集群

目录 一、下载Hadoop安装包 二、安装Hadoop 0. 安装Hadoop前的必要准备 1. 以root用户登录主节点虚拟机 2. 上传Hadoop安装包到主节点 3. 解压缩安装包到/export/server/目录中 4. 构建软链接 三、部署HDFS集群 0. 集群部署规划 1. 进入hadoop安装包内 2 进入etc目录下的hadoop…

分享40个Python源代码总有一个是你想要的

分享40个Python源代码总有一个是你想要的 源码下载链接&#xff1a;https://pan.baidu.com/s/1PNR3_RqVWLPzSBUVAo2rnA?pwd8888 提取码&#xff1a;8888 下面是文件的名字。 dailyfresh-天天生鲜 Django-Quick-Start freenom-自动续期域名的脚本 Full Stack Python简体中…

竟然可以在一个项目中混用 Vue 和 React?

React和Vue是前端开发中的两大热门框架&#xff0c;各自都有着强大的功能和丰富的生态系统。然而&#xff0c;你有没有想过&#xff0c;在一个项目中同时使用React和Vue&#xff1f;是的&#xff0c;你没有听错&#xff0c;可以在同一个项目中混用这两个框架&#xff01;本文就…

redis学习(一)——初识redis

redis学习&#xff08;一&#xff09;——初识redis 非关系型数据库 redis是非关系型数据库&#xff0c;和mysql不同&#xff0c;redis中的所有数据都是以key&#xff1a;value形式存在的 两者区别 SQL | NoSQL 结构化 | 非结构化 关联的 | 无关联 sql查询 | 非sql ACI…

[python 刷题] 22 Generate Parentheses

[python 刷题] 22 Generate Parentheses 题目&#xff1a; Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. 这里 well-formed 指的就是合法的括号配对&#xff0c;这里会提两个解 第一个是暴力解&#xff0c;也就…

服务注册发现_服务发现Discovery

修改payment8001的Controller /*** 支付控制层*/ Slf4j RestController public class PaymentController {Autowiredprivate DiscoveryClient discoveryClient;GetMapping("/payment/discovery")public Object discovery(){// 获取所有微服务信息List<String>…

栈和队列2——队列的实现

栈和队列2——队列的实现 一&#xff0c;前言二&#xff0c;队列的定义三&#xff0c;队列的结构四&#xff0c;队列的实现4.1队列初始化4.2队列的销毁4.3队列的尾插4.4队列的删除4.5找队头的数据4.6找队尾的数据4.7判断为空4.8计算长度 五&#xff0c;小结 一&#xff0c;前言…

STL常用遍历,查找,算法

目录 1.遍历算法 1.1for_earch 1.2transform 2.常用查找算法 2.1find&#xff0c;返回值是迭代器 2.1.1查找内置数据类型 2.1.2查找自定义数据类型 2.2fin_if 按条件查找元素 2.2.1查找内置的数据类型 2.2.2查找内置数据类型 2.3查找相邻元素adjeacent_find 2.4查找指…