Mysql 下面的SQL查询只返回可用月份的结果集,如果数据不存在,如何获取所有月份?
下面的查询只提供可用月份的结果集,如果数据不存在,如何获取所有月份的结果集 例如:- 2013年4月和2013年5月有值,但2013年6月没有值如何在结果集中得到2013年6月,因为总计为0Mysql 下面的SQL查询只返回可用月份的结果集,如果数据不存在,如何获取所有月份?,mysql,Mysql,下面的查询只提供可用月份的结果集,如果数据不存在,如何获取所有月份的结果集 例如:- 2013年4月和2013年5月有值,但2013年6月没有值如何在结果集中得到2013年6月,因为总计为0 SELECT CONCAT(substr(MonthName(fileddate) , 1, 3) , "-", Year(fileddate)) AS MONTH, count(*) FROM carstore WHERE store=20 AND (soldstate = 2
SELECT CONCAT(substr(MonthName(fileddate) , 1, 3) , "-", Year(fileddate)) AS MONTH,
count(*)
FROM carstore
WHERE store=20
AND (soldstate = 2
OR soldstate = 3)
AND cartype LIKE '%Toyoto%'
AND fileddate BETWEEN DATE('2013-04-07') AND DATE('2014-04-30')
GROUP BY MONTH
ORDER BY Year(fileddate),
MONTH(fileddate) ;
+----------+----------+
| Month | count(*) |
+----------+----------+
| Apr-2013 | 2 |
| May-2013 | 2 |
| Jul-2013 | 14 |
| Aug-2013 | 3 |
| Sep-2013 | 2 |
| Nov-2013 | 4 |
| Dec-2013 | 19 |
| Jan-2014 | 61 |
| Feb-2014 | 21 |
| Apr-2014 | 3 |
+----------+----------+
感谢正确的形成。考虑在演示层/应用层代码中处理数据显示的问题,假设你有这个问题(例如,一个简单的PHP循环作用于有序数组)。另外,请参阅日期格式您可以发布您的表结构吗?您需要创建一个月表并与carstore进行左连接。实际上carstore是一个单表,如何处理左外连接