修改SQL查询以仅获取过去2个月的数据

时间:2019-06-24 11:24:23

标签: mysql database record

请帮助我修改以下查询,以仅提取过去2个月内的记录。

SELECT COUNT(*) 
FROM course_participants 
WHERE course_id = courses.id 
WHERE YEAR(created) = 2019) 

现在它获得了当年的结果,我需要获得过去两个月的结果。

谢谢!

4 个答案:

答案 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)