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
jobnameadalah'Analyst'lalu tetapkan nilai1(ini adalahcasepernyataan. Otherwise, assign a value of0`. - 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.