zoukankan      html  css  js  c++  java
  • 用decode函数实现行变列

    用decode函数实现行变列
    ----创建测试表
    create table student_score(
    name varchar2(20),
    subject varchar2(20),
    score number(4,1)
    );
    -----插入测试数据
    insert into student_score (name,subject,score)values('张三','语文',78);
    insert into student_score (name,subject,score)values('张三','数学',88);
    insert into student_score (name,subject,score)values('张三','英语',98);
    insert into student_score (name,subject,score)values('李四','语文',89);
    insert into student_score (name,subject,score)values('李四','数学',76);
    insert into student_score (name,subject,score)values('李四','英语',90);
    insert into student_score (name,subject,score)values('王五','语文',99);
    insert into student_score (name,subject,score)values('王五','数学',66);
    insert into student_score (name,subject,score)values('王五','英语',91);
    -----decode行转列
    select name "姓名",
    sum(decode(subject, '语文', nvl(score, 0), 0)) "语文",
    sum(decode(subject, '数学', nvl(score, 0), 0)) "数学",
    sum(decode(subject, '英语', nvl(score, 0), 0)) "英语"
    from student_score
    group by name;
    ------ case when 行转列
    select name "姓名",
    sum(case when subject='语文'
    then nvl(score,0)
    else 0
    end) "语文",
    sum(case when subject='数学'
    then nvl(score,0)
    else 0
    end) "数学",
    sum(case when subject='英语'
    then nvl(score,0)
    else 0
    end) "英语"
    from student_score
    group by name;收起

  • 相关阅读:
    MySQL数据类型2
    MySQL数据类型1
    powerdesigner使用之——从“概念模型”到“物理模型”
    javascript中click和onclick的区别
    eclipse将javaSE项目导出成可执行jar包
    配置SQLServer,允许远程连接
    VirtualBox虚拟机中安装XP系统
    fastjson 的使用总结
    idea前端页面不刷新----springboot
    后台可以用layui快速开发
  • 原文地址:https://www.cnblogs.com/nuaaydh/p/4472415.html
Copyright © 2011-2022 走看看