MySQL中常用的报表查询SQL

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

mysql

过去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));
Yearning一款优秀的MYSQL开源SQL审核平台(8.3k stars)
MySQL子查询详解

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

93 + 44 =

ajax-loader