一次性统计昨日和今天的数据

引言

在使用 MySQL 数据库进行数据分析和统计时,经常会遇到需要一次性统计昨日和今天的数据的需求。本文将介绍如何使用 MySQL 查询语言进行一次性统计昨日和今天的数据,并给出相应的代码示例。

数据准备

为了演示方便,我们创建一个名为 sales 的表,用于记录每天的销售数据。该表包含以下字段:

  • id:销售记录的唯一标识
  • date:销售记录的日期
  • amount:销售金额

首先,我们需要创建 sales 表:

CREATE TABLE sales (
  id INT PRIMARY KEY AUTO_INCREMENT,
  date DATE,
  amount DECIMAL(10, 2)
);

然后,插入一些示例数据:

INSERT INTO sales (date, amount) VALUES
  ('2022-01-01', 100.00),
  ('2022-01-01', 150.00),
  ('2022-01-02', 200.00),
  ('2022-01-02', 250.00),
  ('2022-01-03', 300.00),
  ('2022-01-03', 350.00);

查询昨日和今天的数据

下面,我们将介绍如何使用 MySQL 查询语言一次性统计昨日和今天的数据。

首先,我们需要获取当前时间的日期。MySQL 提供了内置函数 CURDATE() 来获取当前日期:

SELECT CURDATE();

以上查询将返回当前日期,例如 2022-01-04

接下来,我们使用日期函数 DATE_SUB() 来计算昨天的日期。DATE_SUB() 函数接受两个参数,第一个参数是待减去的日期,第二个参数是要减去的时间间隔。我们将第一个参数设置为当前日期,第二个参数设置为 INTERVAL 1 DAY,表示减去一天:

SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY);

以上查询将返回昨天的日期,例如 2022-01-03

现在,我们可以使用这两个日期来查询昨日和今天的数据了。我们通过比较 date 字段和这两个日期来筛选出符合条件的销售记录。使用 BETWEEN 运算符可以方便地筛选出位于两个日期之间的记录:

SELECT * FROM sales
WHERE date BETWEEN '2022-01-03' AND '2022-01-04';

以上查询将返回昨日和今天的销售记录。

完整示例代码

下面是一个完整的示例代码,演示如何一次性统计昨日和今天的销售数据:

-- 获取当前日期
SELECT CURDATE();

-- 计算昨天的日期
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY);

-- 查询昨日和今天的数据
SELECT * FROM sales
WHERE date BETWEEN '2022-01-03' AND '2022-01-04';

总结

通过本文的介绍,我们了解了如何使用 MySQL 查询语言一次性统计昨日和今天的数据。首先,我们获取当前日期的方法是使用内置函数 CURDATE()。然后,我们使用日期函数 DATE_SUB() 计算昨天的日期。最后,我们使用 BETWEEN 运算符筛选出昨日和今天的数据。

使用这种方法,我们可以方便地一次性统计昨日和今天的数据,便于进行数据分析和统计。

以上就是本文的全部内容,希望对你有所帮助!