Categories: Mysql数据库

MySQL中常用的报表查询SQL

在数据库管理中,我们经常需要查询特定时间范围内的数据,例如今天、昨天、近7天、近30天、一个月内、或者上一个月的数据。在MySQL中,我们可以利用SQL语句与日期函数来实现这些查询。

过去5小时的数据

要查询MySQL中过去5小时的数据,你可以使用NOW()和DATE_SUB()函数。以下是一个示例查询:

SELECT * FROM table_name
WHERE your_date_column >= DATE_SUB(NOW(), INTERVAL 5 HOUR);

查询今天的数据

要查询今天的数据,我们可以使用CURDATE()函数,它返回当前日期。示例查询如下:

SELECT * FROM table_name
WHERE DATE(your_date_column) = CURDATE();

查询昨天的数据

查询昨天的数据,我们可以使用DATE_SUB和CURDATE()函数。示例查询如下:

SELECT * FROM table_name
WHERE DATE(your_date_column) = DATE_SUB(CURDATE(), INTERVAL 1 DAY);

查询近7天的数据

查询近7天的数据,我们可以使用CURDATE()和DATE_SUB函数。示例查询如下:

SELECT * FROM table_name
WHERE DATE(your_date_column) BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE();

查询近30天的数据

查询近30天的数据,我们可以使用CURDATE()和DATE_SUB函数。示例查询如下:

SELECT * FROM table_name
WHERE DATE(your_date_column) BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND CURDATE();

查询一个月内的数据

查询一个月内的数据,我们可以使用CURDATE()和DATE_SUB函数。这里的一个月指的是从当前日期向前数的30天。示例查询如下:

SELECT * FROM table_name
WHERE DATE(your_date_column) BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND CURDATE();

查询上一月的数据

查询上一个月的数据,我们可以使用LAST_DAY和DATE_SUB函数。示例查询如下:

SELECT * FROM table_name
WHERE DATE(your_date_column) BETWEEN DATE_SUB(LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)), INTERVAL DAY(LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 2 MONTH))) DAY) AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH));
4.4
12
Yearning一款优秀的MYSQL开源SQL审核平台(8.3k stars)
MySQL子查询详解
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

PHP Composer如何安装?

PHP Composer是PH…

1天 ago

MacOS上Missing xcrun的问题

在使用MacOS进行编程或开发…

1天 ago

CodeGeeX是一款基于大模型的全能AI编程助手

CodeGeeX是一个面向开发…

1天 ago

MySQL覆盖索引详解

在数据库性能优化中,索引是一个…

1天 ago

后端程序员必备:SQL优化的20条建议

SQL优化查询对于后端程序员来…

1天 ago