我有一个名为 transaction_date 的日期时间字段,在报告中我需要选择上一个日历月,我该怎么做?(这也应该像一月一样工作一个月)
我想出了以下方法,但这仅在月份不是一月时才有效,
SELECT SUM(amount) AS pay_month FROM `users_payment` WHERE MONTH(transaction_datetime)= MONTH(NOW()) AND YEAR(transaction_datetime)=YEAR(NOW())
有很多使用 INTERVAL 函数的示例,但这仅选择时间间隔,而不是我想要的日历月..
像
SELECT SUM(amount) AS `year_month` FROM `users_payment` WHERE DATE_ADD(NOW(), INTERVAL -1 MONTH) < transaction_datetime
但这不是我想要的,我只想选择去年 12 月的销售额(请记住,表中还有其他年份我不想要,即 1979 年、1981 年......等)
下一部分相同的报告,我需要选择最近 2 个日历月,我也不知道如何执行此操作。