Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana jumlah dengan pernyataan kondisional kasus bekerja di sql

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 nilai 1 (ini adalah case 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggabungkan nilai dari beberapa kolom di Oracle

  2. Bagaimana Oracle XMLTYPE di Hibernate

  3. Masalah Oracle dengan pelaporan SQL

  4. SET NULL:Tentukan String untuk Dikembalikan Kapanpun Nilai Null Terjadi di SQLcl / SQL*Plus

  5. Daftar Semua Fungsi di Oracle Database