sql >> Database teknologi >  >> RDS >> Oracle

Vælg to kolonner fra samme tabel med forskellige WHERE-betingelser

Du leder efter et filtreret aggregat:

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 

Bemærk, at WHERE klausul skal nu dække begge intervaller.



  1. ORA-01005 fejl ved forbindelse til ODP.Net

  2. Qt-applikation går ned, når du bruger ODBC-driver (macOS)

  3. Oracle JDBC:Hvordan ved man, hvilken række der har en unik nøglebegrænsning?

  4. MySql - Opdater tabel ved hjælp af vælg erklæring fra samme tabel