Mysql 按月在组中获取0

Mysql 按月在组中获取0,mysql,Mysql,我的表格结构如下: id | bileti | id |状态|用户| id |点|日期 我想得到bileti_id的编号,其中状态为1,按月份分组,但如果某个月份有0,则在该月份给我0,而不仅仅是月份,其中有值。。。因此,我的查询只返回用户创建了超过0个bileti_id的月份 SELECT IFNULL(COUNT(`bileti_id`),0) FROM `wp_biletistatus` WHERE `user_id`= 16590 and `status`=1 GROUP BY MONT

我的表格结构如下:

id | bileti | id |状态|用户| id |点|日期

我想得到bileti_id的编号,其中状态为1,按月份分组,但如果某个月份有0,则在该月份给我0,而不仅仅是月份,其中有值。。。因此,我的查询只返回用户创建了超过0个bileti_id的月份

SELECT IFNULL(COUNT(`bileti_id`),0) FROM `wp_biletistatus` WHERE `user_id`= 16590 and `status`=1 GROUP BY MONTH(`date`) ORDER BY `date` ASC Limit 10
但我已经查询了这几个月的调用情况:所以我需要将此查询与前一个查询连接起来,以获得用户在这几个月内的bileti_id的确切数量,以及0个结果

这是第二个问题:

SELECT MONTHNAME(`date`) FROM `wp_biletistatus` WHERE `user_id`= 16590 GROUP BY MONTH(`date`) ORDER BY `date` ASC Limit 10

这应该更接近你需要的,但我仍然不确定限制10的重要性或意义。您是否只尝试获取用户过去10个月的数据?(“如果是这样的话,按日期下单似乎不太正确。)


不月份可以更改,所以表格不是一个好主意,因为我对月份的查询是在最后几个月进行的。谢谢您的帮助!我们快到了。。。但我会再解释一遍,让你们更好地理解现在的问题所在。我
m将此用于我的图表。所以,在我的月份查询图表上,我得到了从11月到5月(当前)的数据。。。在你的情况下,我会得到所有12个月的数据。。。我的查询返回:11月12月1月2月3月4日May@GuramiTateshvili,啊,但是在过去的一年中,无论是哪一个查询,最终都会得到所有月份的数据,而不管是哪一年。也许WHERE也应该有“和
日期
=now()-间隔10个月”。。。或者一些更复杂的日期比较来强制“月1日”我,你做到了:)选择MONTHNAME(
date
)作为mName,month(
date
)作为mOrder,SUM(IF(status=1,1,0))作为c FROM
wp_biletistus
其中
用户id
=16590和date>=now()-按订单和日期间隔10个月
SELECT MONTHNAME(`date`) AS mName, MONTH(`date`) AS mOrder
, SUM(IF(status=1, 1, 0)) AS c
FROM `wp_biletistatus` 
WHERE `user_id`= 16590
GROUP BY mOrder
ORDER BY mOrder
;