请帮助我修改以下查询,以仅提取过去2个月内的记录。
SELECT COUNT(*)
FROM course_participants
WHERE course_id = courses.id
WHERE YEAR(created) = 2019)
现在它获得了当年的结果,我需要获得过去两个月的结果。
谢谢!
答案 0 :(得分:2)
您可以在下面尝试-
SELECT COUNT(*) FROM course_participants
WHERE created>=now()-interval 2 month
答案 1 :(得分:1)
您可以使用Month-function:
SELECT
COUNT(*)
FROM
course_participants
WHERE
course_id = courses.id and
YEAR(created) = 2019 and
MONTH(created) in (4,5)
如果日期不是固定的,而是取决于当前日期。您可以签出Dateadd-Function。
答案 2 :(得分:1)
如果您希望查询动态返回过去两个月的记录,则可以在WHERE子句中添加DATE_ADD表达式:
SELECT COUNT(*) FROM course_participants WHERE course_id = courses.id and
created > DATE_ADD(CURDATE(), INTERVAL -2 MONTH)
此日期为当前日期,可追溯到2个月。您可以查看有关函数here.
的一些文档答案 3 :(得分:0)
您可以从当前日期减去2个月。
SELECT COUNT(*) FROM course_participants WHERE course_id = courses.id AND created >= DATE_SUB(CURRENT_DATE, INTERVAL 2 MONTH)