那个月没有记录,
January这就是为什么您没有得到结果的原因。一种有效的解决方案是通过将子查询与包含要在列表中显示的月份列表结合在一起。
SELECt count(b.id) as totalRecFROM ( SELECT 'January' mnth UNIOn ALL SELECT 'February' mnth UNIOn ALL SELECT 'March' mnth ) a LEFT JOIN post b ON a.mnth = DATE_FORMAT(b.date, '%M') AND year(b.date) = '2013' AND DATE_FORMAT(b.date, '%M') IN ('January', 'February', 'March') GROUP BY year(b.date)-month(b.date) ORDER BY b.date ASC- SQLFiddle演示
输出
╔══════════╗║ TOTALREC ║╠══════════╣║ 0 ║║ 7 ║║ 9 ║╚══════════╝



