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

时间:2014-10-21 04:09:01

标签: 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,代码是响应能力。 目前,我的查询仍然只显示有价值的月份 感谢是否有人可以找出要添加的内容,以便显示空月。感谢。

1 个答案:

答案 0 :(得分:0)

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子句与左连接组合