选择从sql的第一个月开始的所有数据

时间:2017-11-02 18:58:47

标签: mysql sql

我正在尝试将数据提前三个月用于月度报告。我到了可以获得所有数据的地步。问题是它可以根据当前日期返回3个月。

示例:如果今天是11月7日,它会在8月7日之前向我提供数据。 我需要它给我三个月的数据,但从本月的第一天开始。

示例:今天是11月7日,我需要从8月1日开始的数据。

以下是我用来获取三个月前数据的代码:

SELECT * FROM 'closed_wo_journal' WHERE date_time_stamp > CURDATE() - INTERVAL 3 MONTH

2 个答案:

答案 0 :(得分:1)

date_trunc功能正是医生所要求的:

SELECT *
FROM   closed_wo_journal
WHERE  date_time_stamp > DATE_TRUNC('MONTH', CURDATE() - INTERVAL '3 MONTH')

答案 1 :(得分:1)

以下是三个月前获得本月第一天的逻辑:

SELECT j.*
FROM closed_wo_journal j
WHERE j.date_time_stamp >= ( CURDATE() - INTERVAL (1 - DAY(CURDATE()) DAY) ) - INTERVAL 3 MONTH )