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

извличане на множество колони, група по дата интервалl

За мен това изглежда така:

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' 
  

С други думи, проверете дали ден на scale_eventdate колоната принадлежи към 1-ва или 2-ра половина на месеца и сумата scale_weight съответно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика между нотацията плюс (+) на Oracle и нотация на ansi JOIN?

  2. Как да намерите името на ограничение в Oracle

  3. Потоци на Oracle Пример за репликация стъпка по стъпка

  4. Oracle PLSQL въпроси за интервю

  5. Вземете разликата между две дати в месеци и дни в sql