下面是一个简单的点击跟踪器查询。我看了很多其他的帖子,我正在挠头。我不能让这个查询工作,以便从日历表中的所有行(每行一个日历日)显示:Mysql计数分组和左连接不按预期工作
SELECT DATE_FORMAT(calendar_date, '%a %D') AS calendar_date,
count(tracker_id) as clicks
FROM calendar
LEFT JOIN offer_tracker USING(calendar_id)
WHERE
calendar_month = Month(CURDATE()) AND
calendar_year = Year(CURDATE()) AND (offer_id = 4 OR offer_id IS NULL)
GROUP BY calendar_date;
它几乎存在,但不是在日历表中的所有行返回即不存在星期五2,周二6日,7日星期三等:
没有人有我要去哪里不对任何想法?我应该使用子查询吗?
可能是LEFT JOIN的情况下,一些行在CALENDAR_ID NULL值 – medopal
你好medopal,在offer_tracker表CALENDAR_ID被设置为不NULL,我无法在calendar_id中找到任何空行,但感谢将它标记为建议。 – Studio4
该查询无误。当没有地方引用'Fri 2nd'时,Mysql无法返回结果。一个示例解决方案将如http://stackoverflow.com/questions/7386530/return-multiple-copies-slightly-modified/7387014#7387014 – ajreal