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

Oracle SQL Query untuk Meringkas Statistik, menggunakan GROUP BY

select batch 
,      count(case when status=1 then 1 end) status1
,      count(case when status=2 then 1 end) status2
,      count(case when status=3 then 1 end) status3
from   table
group by batch;

Ini sering disebut kueri "pivot", dan saya telah menulis artikel tentang cara membuat kueri ini secara dinamis di blog saya .

Versi menggunakan DECODE (khusus Oracle tetapi tidak terlalu bertele-tele):

select batch 
,      count(decode(status,1,1)) status1
,      count(decode(status,2,1)) status2
,      count(decode(status,3,1)) status3
from   table
group by batch;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggunakan urutan Oracle DB tanpa kehilangan nomor urutan berikutnya jika terjadi roll-back

  2. Mengimpor File di Oracle Apex Menggunakan wwv_flow_files

  3. Arsitektur Oracle E-Business Suite dalam 12.2

  4. PLS-00201:pengenal 'R_CUR' harus dideklarasikan dalam sql dinamis

  5. Bagaimana Anda mendapatkan hasil yang diformat dengan baik dari prosedur Oracle yang mengembalikan kursor referensi?