我想显示 Q1、Q2、Q3、Q4,尽管值是空或零...我的查询是这样的
Select Coalesce(Quarter(day_date), 0), year(day_date)
from daily
group by year(day_date)
order by year(day_date)
但当 Q1、Q2、Q3、Q4 无值或为零时,它仍然排除该值
最佳答案
您可以使用交叉连接
来生成数据中年份和季度的所有组合:
Select y.yyyy, q.qq, count(d.day_date)
from (select distinct year(day_date) as yyyy from daily) y cross join
(select 1 as qq union all select 2 union all select 3 union all select 4) q left join
daily d
on year(d.day_date) = y.yyyy and
quarter(d.day_date) = q.qq
group by y.yyyy, q.qq
order by y.yyyy, q.qq;
实际上,只有当您确实想要从 daily
表中计算某些内容(例如计数)时,才需要 左连接
。
关于mysql - 即使 mysql 中的值为零,如何在 Q1、Q2、Q3、Q4 中显示值为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41864931/