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

Pilih dua kolom dari tabel yang sama dengan kondisi WHERE yang berbeda

Anda mencari agregat yang difilter:

SELECT COUNT(DISTINCT 
             case when 
                MODIFIED_DATE BETWEEN TO_DATE('{RUN_DATE_YYYYMMDD}','YYYYMMDD') - 56 
                                  AND TO_DATE('{RUN_DATE_YYYYMMDD}','YYYYMMDD') - 49
               then CASE_ID 
             end) as c1,
        COUNT(DISTINCT 
               case when 
                  MODIFIED_DATE BETWEEN TO_DATE('{RUN_DATE_YYYYMMDD}','YYYYMMDD')-49  
                                    AND TO_DATE('{RUN_DATE_YYYYMMDD}','YYYYMMDD')-42 
                  then CASE_ID 
               end) as c2
from t1 
WHERE MODIFIED_DATE 
         BETWEEN TO_DATE('{RUN_DATE_YYYYMMDD}','YYYYMMDD') - 56 
             AND TO_DATE('{RUN_DATE_YYYYMMDD}','YYYYMMDD') - 42 

Perhatikan bahwa WHERE klausa sekarang perlu mencakup kedua interval.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengonversi nomor menjadi tanggal di oracle

  2. Oracle -- Impor data ke tabel dengan nama berbeda?

  3. Oracle 12c Apex 4.2 ORA-24247 akses jaringan ditolak oleh daftar kontrol akses (ACL)

  4. Oracle REF tidak dapat melalui

  5. utl_file.fopen Parameter di Oracle