oracle中怎么实现行转列

在Oracle中行转列,可以利用decode函数:

如有学生表A:

IDNAMESUBJECTSCORE
1张三语文90
2张三数学80
3李四语文99
4李四数学78
5张三英语89

现要转换成下表:

NAME语文数学英语
张三908089
李四9978 

这是一个典型的行转列过程,只需如下SQL即可:

select NAME, sum(decode(SUBJECT,'语文', SCORE, null)), sum(decode(SUBJECT,'数学', SCORE, null)), sum(decode(SUBJECT,'英语', SCORE, null)) from A  group by NAME;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24984814/viewspace-707939/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24984814/viewspace-707939/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值