Oracle 对于直接的CSV数据,这是错误的。今天晚些时候我会继续做的。 SELECT I.aggDate , eri.organization_id ORG, COUNT( ( CASE WHEN OSD.date_approve

Oracle 对于直接的CSV数据,这是错误的。今天晚些时候我会继续做的。 SELECT I.aggDate , eri.organization_id ORG, COUNT( ( CASE WHEN OSD.date_approve,oracle,aggregate,Oracle,Aggregate,对于直接的CSV数据,这是错误的。今天晚些时候我会继续做的。 SELECT I.aggDate , eri.organization_id ORG, COUNT( ( CASE WHEN OSD.date_approved < I.aggDate + interval '1' DAY AND osd.date_released > I.aggDate - interval '1' DAY THEN 1 END)) Items_

对于直接的CSV数据,这是错误的。今天晚些时候我会继续做的。
SELECT I.aggDate         ,
  eri.organization_id ORG,
  COUNT( (
  CASE
    WHEN OSD.date_approved < I.aggDate + interval '1' DAY
    AND osd.date_released  > I.aggDate - interval '1' DAY
    THEN 1
  END)) Items_in_DC
FROM mm_oracle_sig_dates osd ,
  ENG_REVISED_ITEMS ERI      ,
  (SELECT DISTINCT OSD.date_approved aggDate
  FROM mm_oracle_sig_dates osd
  WHERE OSD.date_approved >=TRUNC(sysdate) - interval '12' MONTH
  ) I
WHERE i.aggdate      = osd.date_approved
 and eri.change_notice    = osd.ecn_num
GROUP BY I.aggdate   ,
  eri.organization_id;
with dates as (
       (select greatest(osd.date_approved, trunc(sysdate) - interval '1 year' - interval '1 day') as dte,
               count(*) as inc
        from mm_oracle_sig_dates osd
        where osd.date_released >= trunc(sysdate) - interval '1 year' or 
              osd.date_released is null
        group by osd.date_approved
       ) union all
       (select osd.date_released + 1 as dte, -count(*) as inc
        from mm_oracle_sig_dates osd
        where osd.date_released >= trunc(sysdate) - interval '1 year' or
              osd.date_released is null
        group by osd.date_released
       )
      )
select dte,
       sum(sum(inc)) over (order by dte) as openitems
from dates
group by dte;