17,078
社区成员
发帖
与我相关
我的任务
分享
WITH tb AS
(
select 'N-126' r_code, 10 price from dual union all
select 'N-126' r_code, 12 price from dual union all
select 'N-126' r_code, 15 price from dual union all
select 'N-126' r_code, 18 price from dual union all
select 'N-126' r_code, 9 price from dual union all
select 'N-127' r_code, 100 price from dual union all
select 'N-127' r_code, 120 price from dual union all
select 'N-127' r_code, 150 price from dual union all
select 'N-127' r_code, 10 price from dual
)
SELECT r_code,
SUM(DECODE(s,1,price,NULL)) P1,
SUM(DECODE(s,2,price,NULL)) P2,
SUM(DECODE(s,3,price,NULL)) P3,
SUM(DECODE(s,4,price,NULL)) P4,
SUM(DECODE(s,5,price,NULL)) P5
FROM
(SELECT R_CODE,
PRICE,
ROW_NUMBER() OVER(PARTITION BY R_CODE ORDER BY PRICE) S
FROM TB
)
GROUP BY r_code