使用给定日期MYSQL显示六个月的数据



我需要mySQL查询的帮助。我想根据给定的firstDate和endDate显示前六个月。两者都来自我的$_GET php
我想要的是,显示六个月,包括空的月份
以下是我当前的查询。

SELECT m.monthNo as monthGroup, count(f.id) AS bilangan from monthEmpty m 
LEFT JOIN 
(SELECT id,month, code FROM survey ) f 
ON DATE_FORMAT(f.month, '%c') = m.monthNo 
WHERE (month between DATE_SUB('2014-08-01', interval 5 month) and '2014-08-31') AND code = '001' 
group by monthGroup

对于我的monthEmpty,我有一列是monthNo,其中值为1,2,3,4,5,6,7,8,9,10,11和12。
对于调查表,我有响应者的id,月份的格式为YYYY-MM-DD,代码为响应者教员。目前,我的查询仍然只显示有价值的月份
如果有人能想出添加什么来让空月份也显示出来,我将不胜感激。谢谢

SELECT m.monthNo AS monthGroup, COUNT( f.id ) AS bilangan
FROM monthEmpty m
JOIN (
SELECT id, 
MONTH , code
FROM survey
)f ON DATE_FORMAT( f.month,  '%c' ) = m.monthNo
AND (
MONTH BETWEEN DATE_SUB(  '2014-08-01', INTERVAL 5 
MONTH ) 
AND  '2014-08-31'
)
AND code =  '001'
GROUP BY monthGroup

使用此查询,您需要将where caluse与left join 组合

最新更新