Oracle
 sql >> база данни >  >> RDS >> Oracle

Изберете две колони от една и съща таблица с различни WHERE условия

Търсите филтриран агрегат:

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 

Имайте предвид, че WHERE клаузата сега трябва да покрива и двата интервала.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Причинено от:java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver

  2. PLS-00103:Срещна се символът край на файла, когато се очаква едно от следните:;

  3. APPLSYSPUB схема

  4. Oracle третира празен низ като NULL проблем за Java / JPA програмист

  5. Как да намерите медиана в sql