• SQL竖表转横表 / 横表转竖表


    竖表转横表

    竖表结构:

    Name

    Course

    Grade

    张三

    语文

    75

    张三

    数学

    80

    张三

    英语

    90

    李四

    语文

    95

    李四

    数学

    55

    转换后横表结构:

    Name

    语文

    数学

    英语

    张三

    75

    80

    90

    李四

    95

    55

    0

    SQL语句:

    1 select Name,
    2 sum(case Course when '语文' then Grade else 0 end) as 语文,
    3 sum(case Course when '数学' then Grade else 0 end) as 数学,
    4 sum(case Course when '英语' then Grade else 0 end) as 英语
    5 from TableA 
    6 group by Name
    竖表转横表

    横表转竖表

    横表结构:

    ID

    Name

    Chinese

    Math

    English

    1

    张三

    90

    89

    80

    2

    李四

    95

    76

    38

    3

    王五

    88

    77

    67

    转换后竖表结构:

    ID

    姓名

    科目

    成绩

    1

    张三

    语文

    87

    2

    张三

    数学

    78

    3

    张三

    英语

    67

    4

    李四

    语文

    90

    5

    李四

    数学

    65

    6

    李四

    英语

    98

    7

    王五

    语文

    54

    8

    王五

    数学

    67

    9

    王五

    英语

    49

    SQL语句:

    1 select Name,'Chinese' as 科目,Chinese as 成绩 from tableb union all
    2 select Name,'Math' as 科目,Math as 成绩 from tableb union all
    3 select Name,'English' as 科目,English as 成绩 from tableb
    4 order by Name,科目 desc
    横表转竖表
  • 相关阅读:
    wc
    wbinfo
    wall -- 向所有人的终端发送消息
    w
    vt-is-UTF8
    vmstat
    vimtutor
    vim
    centos7
    Web 在线文件管理器学习笔记与总结(8)删除文件
  • 原文地址:https://www.cnblogs.com/liyajie/p/3675262.html
Copyright © 2020-2023  润新知