Agaknya, ini adalah bagian yang sulit Anda pahami:
select deptno,
sum(case when jobname = 'Analyst' then 1 else 0 end) as numAnalysts
from employees
group by deptno
Ini adalah kueri agregasi sederhana, sungguh. Apa yang dilakukan kueri adalah:
- Lihat setiap baris di
employees
- Jika
jobname
adalah'Analyst'
lalu tetapkan nilai1
(ini adalahcase
pernyataan. Otherwise, assign a value of
0`. - Agregat menurut departemen, menjumlahkan nilai yang baru saja dihitung. Ini memiliki efek menghitung jumlah analis.
case
adalah ekspresi yang mengembalikan nilai. sum()
hanya menambahkan nilai itu untuk setiap grup.