简单的行转列,成绩统计方式,oracle和mysql通用方式

本文介绍了如何在Oracle和MySQL中进行简单的行转列操作,以实现成绩统计。通过CASE语句结合SUM函数,将姓名、语文、数学、英语分数整合为一列展示。提供了一个数据示例及两种实现方式:Oracle的DECODE方法和适用于Oracle与MySQL的CASE WHEN方式。
摘要由CSDN通过智能技术生成

  在看行转列的时候,看到网上很多资料都写的太复杂,我记录一个比较简单的方式,作为自己行转列的初步学习可以看看,解决比较复杂的业务问题可能帮不上忙,勿喷。

  主要实现思路就是,先将行转成列,但是这个时候,会出现:

执行语句:

SELECT NAME
    姓名,
CASE
SUBJECT 
    WHEN '语文' THEN
    score 
    END 语文,
CASE
SUBJECT 
    WHEN '数学' THEN
    score 
    END 数学,
CASE
SUBJECT 
    WHEN '英语' THEN
    score 
    END 英语 
FROM
    student

效果图:

这种结果,然后就需要使用聚合函数来将数据合并到一列,因为这里是分数,使用sum求和函数,如果是字符串的话可以用concat来聚合。

下面是实现过程:

数据示例:

</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值