AI智能
改变未来

oracle行转列

1、将行转换为列1列
select * from (
select ssss,nums from demo
) q pivot (sum(nums) for ssss in (‘苹果’,‘橘子’,‘葡萄’));
结果:

序号 苹果 橘子 葡萄
1 0 8000 3500

2、select * from (
select * from demo
) q pivot (sum(nums) for ssss in (‘苹果’ 苹果,‘橘子’ 橘子,‘葡萄’ 葡萄));
结果:

序号 ID 苹果 橘子 葡萄
1 1 0
2 6 3500
3 2
4 4 5000
5 5 3000

他根据字段去获取数据,会出现一些无用的数据
3、(截取字符串)分组查询
select substr(ssss,1,1), sum(nums) as nums from demo group by substr(ssss,1,1)
结果:

序号 SSSS NUMS
1 8000
2 6000
3 3500
4 9700
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » oracle行转列