おそらく、これはあなたが理解するのに苦労している部分です:
select deptno,
sum(case when jobname = 'Analyst' then 1 else 0 end) as numAnalysts
from employees
group by deptno
これは本当に単純な集計クエリです。クエリの実行内容は次のとおりです。
employees
の各行を見てください-
jobname
の場合'Analyst'
です 次に、1
の値を割り当てます (これはcase
です ステートメント. Otherwise, assign a value of
の値を割り当てます 0`。 - 部門ごとに集計し、計算したばかりの値を合計します。これには、アナリストの数を数える効果があります。
case
値を返す式です。 sum()
グループごとにその値を合計するだけです。