zoukankan      html  css  js  c++  java
  • 行列转换

    行转列: 

    方法一:

    --使用之前要1、去重复
    SELECT USERNAME,
    MAX(CASE SUBJECT WHEN '语文' THEN SCORE ELSE NULL END ) AS 语文,
    MAX(CASE SUBJECT WHEN '数学' THEN SCORE ELSE NULL END ) AS 数学,
    MAX(CASE SUBJECT WHEN '英语' THEN SCORE ELSE NULL END ) AS 英语,
    MAX(CASE SUBJECT WHEN '生物' THEN SCORE ELSE NULL END ) AS 生物
    FROM SS
    GROUP BY USERNAME

     方法二:

    --使用之前要1、变成完美的数据  2、去重复
    SELECT 
    t1.USERNAME,
    t1.SCORE 语文,
    t2.SCORE 数学,
    t3.SCORE 英语,
    t4.SCORE 生物
    FROM
    (SELECT * FROM SS WHERE SUBJECT='语文') t1
    LEFT JOIN 
    (SELECT * FROM SS WHERE SUBJECT='数学') t2
    ON t1.USERNAME = t2.USERNAME
    LEFT JOIN 
    (SELECT * FROM SS WHERE SUBJECT='英语') t3
    ON t1.USERNAME = t3.USERNAME
    LEFT JOIN 
    (SELECT * FROM SS WHERE SUBJECT='生物') t4
    ON t1.USERNAME = t4.USERNAME

    方法三、

    --sql的行转列(PIVOT)与列转行(UNPIVOT)

    方法四、

  • 相关阅读:
    github使用及介绍
    git分支 & git标签
    nginx配置文件参考
    PHP优化
    Nginx优化
    Git安装及基础命令使用
    JavaScript框架设计-node节点
    论文爬取(一)
    JAVA日报
    JAVA日报
  • 原文地址:https://www.cnblogs.com/revo/p/9770121.html
Copyright © 2011-2022 走看看