我试图用mysql获取值,但是当它没有值时,它在特定月份没有给出...
我尝试了IFNULL,但是它变得相同而且在空月中没有返回0。
SELECT MONTHNAME(`date`) FROM `wp_biletistatus` WHERE `user_id`= 1
GROUP BY MONTH(`date`) ORDER BY `date` ASC Limit 10
以下是我想要获得的几个月的查询:
{{1}}
有人可以帮助我如何在没有价值的月份获得0。
答案 0 :(得分:1)
你没有在没有价值的月份获得零的原因是因为它根本不存在。您需要具有修订值或至少具有所有月份列表的子查询,例如。
SELECT months.MonthNum,
COUNT(a.bileti_id)
FROM (
SELECT 1 AS MonthNum UNION ALL SELECT 2 UNION ALL
SELECT 3 UNION ALL SELECT 4 UNION ALL
SELECT 5 UNION ALL SELECT 6 UNION ALL
SELECT 7 UNION ALL SELECT 8 UNION ALL
SELECT 9 UNION ALL SELECT 10 UNION ALL
SELECT 11 UNION ALL SELECT 12
) months
LEFT JOIN wp_biletistatus a
ON months.MonthNum = MONTH(a.date)
WHERE a.user_id= 1 and a.status=1
GROUP BY months.MonthNum
ORDER BY months.MonthNum