如何从MySQL数据库中获取当月数据

如何从MySQL数据库中获取当月数据,mysql,Mysql,如何从数据库中获取当月数据。我尝试了以下方法,从所有年份中获取与本月相关的所有数据。我指的是往年11月份的数据 SELECT d.date, COALESCE(t1.marks, 0) AS class1, COALESCE(t2.marks, 0) AS class2, COALESCE(t3.marks, 0) AS class3 FROM (SELECT DATE(date_column) AS date FROM `table1`

如何从数据库中获取当月数据。我尝试了以下方法,从所有年份中获取与本月相关的所有数据。我指的是往年11月份的数据

SELECT d.date,
       COALESCE(t1.marks, 0) AS class1,
       COALESCE(t2.marks, 0) AS class2, 
       COALESCE(t3.marks, 0) AS class3
FROM (SELECT DATE(date_column) AS date FROM `table1`
      UNION
      SELECT DATE(date_column) FROM `table2`
      UNION
      SELECT DATE(date_column) FROM `table3`) AS d
LEFT JOIN (SELECT DATE(date_column) AS date,
                  COUNT(marks) AS marks
           FROM table1
           GROUP BY date) t1 ON t1.date = d.date
LEFT JOIN (SELECT DATE(date_column) AS date,
                  COUNT(marks) AS marks
           FROM table2
           GROUP BY date) t2 ON t2.date = d.date
LEFT JOIN (SELECT DATE(date_column) AS date,
                  COUNT(marks) AS marks
           FROM table3
           GROUP BY date) t3 ON t3.date = d.date
WHERE MONTH(CURDATE()) = MONTH(d.dates) ORDER BY d.date

在where子句中添加年份过滤器,如下所示

WHERE MONTH(CURDATE()) = MONTH(d.date) and YEAR(CURDATE())=YEAR(d.date) ORDER BY d.date

这将获得当前月份和当前年份的数据。

只需添加另一个条件…年份(CURDATE())=年份(d.dates)@GeorgeDryser谢谢你,它成功了。