sql >> Databasteknik >  >> RDS >> Oracle

hämta flera kolumner gruppera efter datumintervall

För mig ser det ut så här:

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' 
  

Med andra ord, kontrollera om dagen för scale_eventdate kolumnen tillhör 1:a eller 2:a halvan av månaden och summan scale_weight i enlighet därmed.



  1. Hur REGEXP fungerar i MariaDB

  2. Är det möjligt att köra flera DDL-satser i en transaktion (inom SQL Server)?

  3. T-SQL-buggar, fallgropar och bästa praxis – fönsterfunktioner

  4. Virtuella kolumner och funktionella index