Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Chọn hai cột từ cùng một bảng với các điều kiện WHERE khác nhau

Bạn đang tìm kiếm một tổng hợp được lọc:

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 

Lưu ý rằng WHERE bây giờ mệnh đề cần bao gồm cả hai khoảng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách duy trì LARGE BLOBs (> 100MB) trong Oracle bằng Hibernate

  2. Lỗi:ORA-00955:tên đã được sử dụng bởi một đối tượng hiện có trong Hàm Oracle

  3. Cách sử dụng Pandas Write_Frame để xuất kết quả sang Cơ sở dữ liệu Oracle trong cx_Oracle

  4. Trả lại số hàng bị ảnh hưởng từ MERGE bằng cx_oracle

  5. Hiệu suất kém khi nhận trường tắc nghẽn từ Oracle trong .Net