Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 按日期间隔选择多行分组(导致重复)_Sql_Oracle_Sum_Pivot_Aggregate Functions - Fatal编程技术网

Sql 按日期间隔选择多行分组(导致重复)

Sql 按日期间隔选择多行分组(导致重复),sql,oracle,sum,pivot,aggregate-functions,Sql,Oracle,Sum,Pivot,Aggregate Functions,我试图检索一个月前15天和该月后15天的体重数据。 如下表所示 这是我的密码 SELECT * from ( select SUM(B.SCALE_WEIGHT) as Mtrl1 FROM TRACK2.LOG2_TAB B where B.SCALE_EVENTDATE >= date '2020-09-01' and B.SCALE_EVENTDATE < date '2020-09-30' AND B.Scale_EVENTDATE = B.SCALE_EVEN

我试图检索一个月前15天和该月后15天的体重数据。 如下表所示

这是我的密码

SELECT  * from

( select SUM(B.SCALE_WEIGHT) as Mtrl1 FROM TRACK2.LOG2_TAB B 
where   B.SCALE_EVENTDATE >= date '2020-09-01' 
and B.SCALE_EVENTDATE < date '2020-09-30' 
AND B.Scale_EVENTDATE = B.SCALE_EVENTDATE 
and MTRLID_EXT = 206
group by  floor(extract(day from SCALE_EVENTDATE)/16)   )  ,


( select SUM(B.SCALE_WEIGHT) as Mtrl2 FROM TRACK2.LOG2_TAB B 
where   B.SCALE_EVENTDATE >= date '2020-09-01' 
and B.SCALE_EVENTDATE < date '2020-09-30' 
AND B.Scale_EVENTDATE = B.SCALE_EVENTDATE 
and MTRLID_EXT = 211 
group by  floor(extract(day from SCALE_EVENTDATE)/16)   ) 
但结果如下图所示,数据重复!和缺少日期列


我认为您需要条件聚合:

select 
    floor(extract(day from scale_eventdate)/16) as fortnight,
    sum(case when mtrlid_ext = 206 then scale_weight else 0 end) as mtrl1,
    sum(case when mtrlid_ext = 211 then scale_weight else 0 end) as mtrl2
from track2.log2_tab
where   
    mtrlid_ext in (206, 211)
    and scale_eventdate >= date '2020-09-01' 
    and scale_eventdate <  date '2020-10-01' 
group by  floor(extract(day from scale_eventdate) / 16)

注意,我固定了日期过滤;如果您想要整个9月份,那么第二个条件应该是:请编辑问题并显示TRACK2.LOG2_选项卡和示例数据的定义。