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

truy xuất nhóm nhiều cột theo liên tục ngày

Đối với tôi, nó trông như thế này:

select 
  sum(case when b.materialid = 1 and
                to_number(to_char(b.scale_eventdate, 'dd')) between  1 and 15 then 
                b.scale_weight 
      end) mtrl1,
  --      
  sum(case when b.materialid = 2 and
                to_number(to_char(b.scale_eventdate, 'dd')) between 16 and 31 then 
                b.scale_weight 
      end) mtrl2
from datalog_tab b
where to_char(b.scale_eventdate, 'yyyymm') = '202010' 
  

Nói cách khác, hãy kiểm tra xem ngày của scale_eventdate cột thuộc về nửa thứ nhất hoặc thứ hai của tháng và tổng scale_weight theo đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL tương đương với SEQUENCE.NEXTVAL của Oracle

  2. Cập nhật nhiều giá trị cột trong bảng bằng cách sử dụng một truy vấn

  3. Hiểu phân đoạn Lob (SYS_LOB) trong oracle?

  4. nếu (chọn số (cột) từ bảng)> 0 thì

  5. SQLcl để chuyển dữ liệu từ Oracle sang PostgreSQL hoặc YugabyteDB 🅾🐘🚀