SQL 基于当前日期获取最近三个月的数据 – MySQL

SQL 基于当前日期获取最近三个月的数据 – MySQL

在本文中,我们将介绍如何使用 SQL 查询语言在 MySQL 数据库中基于当前日期获取最近三个月的数据。

阅读更多:SQL 教程

获取当前日期

MySQL 中,可以使用 CURDATE() 函数获取当前日期。这个函数返回一个标准日期格式的字符串,并且不需要任何参数。

以下是获取当前日期的示例 SQL 查询语句:

SELECT CURDATE();

查询结果类似于:

+------------+
| CURDATE()  |
+------------+
| 2022-01-01 |
+------------+

获取三个月前的日期

为了获取当前日期的三个月前的日期,我们可以使用 DATE_SUB() 函数。这个函数接受三个参数:日期,要减去的时间间隔,以及时间间隔的单位。

以下是获取三个月前日期的示例 SQL 查询语句:

SELECT DATE_SUB(CURDATE(), INTERVAL 3 MONTH);

查询结果类似于:

+----------------------------------+
| DATE_SUB(CURDATE(), INTERVAL 3 MONTH) |
+----------------------------------+
| 2021-10-01                       |
+----------------------------------+

可以看到,当前日期的三个月前的日期是 2021-10-01。

查询最近三个月的数据

使用上述方法获取了三个月前的日期后,我们可以在 SQL 查询语句中使用这个日期来获取最近三个月的数据。假设我们有一张名为 orders 的表,其中包含了订单的信息,其中有一个名为 order_date 的列用来存储订单的日期。

以下是查询最近三个月的订单数据的示例 SQL 查询语句:

SELECT *
FROM orders
WHERE order_date >= DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
  AND order_date <= CURDATE();

这个查询语句会返回在当前日期的三个月前和当前日期之间的所有订单数据。

示例

假设我们有以下 orders 表的数据:

+------------+-------+
| order_date | amount|
+------------+-------+
| 2021-09-01 | 100   |
| 2021-10-15 | 200   |
| 2021-11-30 | 300   |
| 2021-12-10 | 150   |
| 2022-01-05 | 250   |
+------------+-------+

我们可以使用上述查询语句来获取最近三个月的订单数据。应用上述查询语句后的查询结果如下:

+------------+-------+
| order_date | amount|
+------------+-------+
| 2021-10-15 | 200   |
| 2021-11-30 | 300   |
| 2021-12-10 | 150   |
| 2022-01-05 | 250   |
+------------+-------+

可以看到,查询结果只包含了在当前日期的三个月前和当前日期之间的订单数据。

总结

通过使用 CURDATE() 函数获取当前日期,然后使用 DATE_SUB() 函数获取三个月前的日期,我们可以很方便地在 MySQL 数据库中查询最近三个月的数据。这对于需要按时间范围进行数据分析和报表生成的任务非常有用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程