0
値が空でもゼロであっても、Q1、Q2、Q3、Q4を表示したいと思います。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は値またはゼロ
値が空でもゼロであっても、Q1、Q2、Q3、Q4を表示したいと思います。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は値またはゼロ
あなたはデータで年と四半期のすべての組み合わせを生成するcross join
を使ってこれを行うことができていないとき、それはまだ値を除外:
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;
実際にはleft join
は、実際にカウントなどのdaily
テーブルから何かを計算したい場合にのみ必要です。
で欠落しているデータのロジックを処理することを検討してください。正確には、私はおそらくday_dateデータが特定の期間に存在しないために必要なものではありません....例えば、4月1日〜 Q1には含まれていません –
あなたの質問を編集し、サンプルデータと希望する結果を提供してください。 –
アプリケーションレベルコード – Strawberry