Przypuszczalnie jest to część, którą starasz się zrozumieć:
select deptno,
sum(case when jobname = 'Analyst' then 1 else 0 end) as numAnalysts
from employees
group by deptno
To naprawdę proste zapytanie agregujące. Działanie zapytania to:
- Spójrz na każdy wiersz w
employees
- Jeśli
jobname
to'Analyst'
następnie przypisz wartość1
(to jestcase
instrukcja. Otherwise, assign a value of
0`. - Agregacja według działów, sumowanie właśnie obliczonej wartości. Skutkuje to policzeniem liczby analityków.
case
to wyrażenie zwracające wartość. sum()
to po prostu zsumowanie tej wartości dla każdej grupy.