zoukankan      html  css  js  c++  java
  • SQl 行转列,列转行 (PIVOT,UPIVOT)

    表t_pivot

    SQl 行转列,列转行 (PIVOT,UPIVOT) - zc - zczhangchi 的博客

    转后效果

    SQl 行转列,列转行 (PIVOT,UPIVOT) - zc - zczhangchi 的博客
     
    方法 1 (常用方法 case when)

    SELECT     buydate,

                      SUM(CASE WHEN type = '生活' THEN typecount ELSE 0 END) AS 生活,

                      SUM(CASE WHEN type = '学习' THEN typecount ELSE 0 END) AS 学习,                   SUM(CASE WHEN type = '动画' THEN typecount ELSE 0 END) AS 动画,

                      SUM(CASE WHEN type = '游戏' THEN typecount ELSE 0 END) AS 游戏 FROM         dbo.t_pivot GROUP BY buydate

    方法 2 (PIVOT)

    SELECT     buydate,

                      sum(CASE WHEN 生活 IS NULL THEN 0 ELSE 生活 END) AS '生活',

                      sum(CASE WHEN 学习 IS NULL THEN 0 ELSE 学习 END) AS '学习',                   sum(CASE WHEN 动画 IS NULL THEN 0 ELSE 动画 END) AS '动画',

                      sum(CASE WHEN 游戏 IS NULL THEN 0 ELSE 游戏 END) AS '游戏' FROM        t_pivot PIVOT (sum(typecount) FOR type IN (生活, 学习, 动画, 游戏)) AS pvt GROUP BY buydate

    2.行转列

    表t_unpivot

    SQl 行转列,列转行 (PIVOT,UPIVOT) - zc - zczhangchi 的博客

    转后效果

    SQl 行转列,列转行 (PIVOT,UPIVOT) - zc - zczhangchi 的博客
     
    方法 1 (常用方法 case when)
     
    SELECT     stuname, math AS scores, 'math' AS course FROM         dbo.t_unpivot UNION SELECT     stuname, english AS scores, 'english' AS course FROM         dbo.t_unpivot UNION SELECT     stuname, chinese AS scores, 'chinese' AS course FROM         dbo.t_unpivot UNION SELECT     stuname, history AS scores, 'history' AS course FROM         dbo.t_unpivot

    方法 2 (UPIVOT)

    SELECT     stuname, course, scores FROM        t_unpivot UNPIVOT (scores FOR course IN (math, english, chinese, history)) AS pvt

  • 相关阅读:
    中国大学MOOC-陈越、何钦铭-数据结构-2016秋期末考试
    Manifesto of the Communist Party
    PAT/字符串处理习题集(二)
    PAT/字符串处理习题集(一)
    PAT/进制转换习题集
    PAT/图形输出习题集
    2017-2018-2 《密码与安全新技术》第3周作业
    2017-2018-2 20179226 《网络攻防》第7周作业
    2017-2018-2 20179226 《网络攻防》第6周作业
    2017-2018-2 《密码与安全新技术》第2周作业
  • 原文地址:https://www.cnblogs.com/jameslif/p/3296105.html
Copyright © 2011-2022 走看看