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

ambil hasil dari kueri

Anda dapat menggunakan SUM/CASE atau (SUM/DECODE jika Anda mau)

Select
   COUNT(*) TOTAL_RECORDS  ,
   SUM(case when status = 'PENDING' then 1 else 0 END) TOTAL_PENDING, 
   SUM(case when status = 'NOT_REQUIRED' then 1 else 0 END) TOTAL_NOT_REQUIRED, 
   SUM(case when status = 'ERROR' then 1 else 0 END) TOTAL_ERROR


FROM temp25

Lihat ini berfungsi di sini

Anda juga dapat menggunakan pivot tetapi mendapatkan hitungan (*) sedikit jelek

WITH 
COUNTS AS(
select * 
from (
   select status
   from TEMP25 t
)
pivot 
(
   count(status)
   for status in ('PENDING' AS TOTAL_PENDING,
                  'NOT_REQUIRED' AS TOTAL_NOT_REQUIRED,
                  'ERROR' AS TOTAL_ERROR)
))


SELECT COUNT(*) total_records, 
       total_pending, 
       total_not_required, 
       total_error 
FROM   temp25, 
       counts 
GROUP  BY total_pending, 
          total_not_required, 
          total_error 

Versi pivot



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kunci Utama di Oracle dan SQL Server

  2. Bagaimana kita bisa menentukan ukuran parameter output dalam prosedur tersimpan?

  3. Dapatkan PANJANG dari RAW PANJANG

  4. masalah dengan apex_application_temp_files

  5. ORACLE SQL Group Dengan MASIH memberikan Duplikat