我需要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,代码是响应能力。 目前,我的查询仍然只显示有价值的月份 感谢是否有人可以找出要添加的内容,以便显示空月。感谢。
答案 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子句与左连接组合