1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| create table matable
( col1 varchar(10)
, col2 varchar(10)
, col3qtt decimal(5,2)
);
insert into matable (col1, col2, col3qtt) values
('F1', 'Y', 2.5),
('F1', 'Y', 0.1),
('F2', 'Y', 2.3),
('F2', 'N', 0.6),
('F2', 'Y', 1.0),
('F2', 'N', 5.2),
('F3', 'Y', 2.9),
('F3', 'N', 8.6);
select col1, col2, col3qtt
, sum(case col2 when 'N' then col3qtt end) over(partition by col1) as col4sumqtt
from matable;
COL1 COL2 COL3QTT COL4SUMQTT
---- ---- ------- ----------
F1 Y 2.5
F1 Y 0.1
F2 Y 2.3 5.8
F2 N 0.6 5.8
F2 Y 1 5.8
F2 N 5.2 5.8
F3 Y 2.9 8.6
F3 N 8.6 8.6 |
Partager