MySQL中常用的报表查询SQL
嘻嘻发布于2024-02-06
浏览在数据库管理中,我们经常需要查询特定时间范围内的数据,例如今天、昨天、近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));