MySQL:选择之前的月份和月份

时间:2015-07-29 17:06:15

标签: mysql sql

我正在尝试编写一个

的报告页面

(A部分)从当前日历月中选择记录(因此,如果在6月10日访问,它将显示6月1日至6月10日的记录)

(B部分)然后是上一个日历月的另一部分(因此5月1日至5月31日)。

我在这次讨论中玩过这个例子MySQL Query to calculate the Previous Month 但我有点困惑。

SELECT Count(*) 
FROM `table` 
WHERE table.timestamp BETWEEN date_format(NOW() - INTERVAL 1 MONTH, '%Y-%m-01') AND last_day(NOW() - INTERVAL 1 MONTH)

满足(PART A)(B部分)? 好像是(PART A),但我很困惑。

你能帮我构建两个查询吗?这个SQL日期时间的东西真让我头晕目眩。

1 个答案:

答案 0 :(得分:1)

如果从日期中减去当月的当天并添加1,则表示当前月份的开头。你可以使用这个逻辑:

where time between date_sub(curdate(), interval day(curdate()) - 1 day) and
                   date_sub(date_add(date_sub(curdate(), interval day(curdate()) - 1 day), interval 1 month), interval -1 day)