zoukankan      html  css  js  c++  java
  • mysql行转列,单列转多行

    行转列

    使用CASE语句:
    SELECT SUM(CASE USER_NAME='A' THEN KILLS END) AS 'A',
    SUM(CASE USERNAME='B' THEN KILL END) AS 'B',
    SUM(CASE USERNAME='C' THEN KILL END) AS 'C'
    FROM A INNER JOIN B ON A.NAME=B.USERNAME;
    
    通过CASE给满足WHEN语句的数据返回SUM聚合函数要统计的数据,再将SUM进行重命名。推荐。
    一般形式
    SELECT NAME AS '姓名',
    SUM(CASE SUBJECT WHEN '数学' THEN MARK ELSE NULL END) AS '数学',
    SUM(CASE SUBJECT WHEN '英语' THEN MARK ELSE NULL END) AS '英语',
    SUM(CASE SUBJECT WHEN '语文' THEN MARK ELSE NULL END) AS '语文'
    FROM SUBJECT
    GROUP BY NAME;
    
    CASE语句中放原来表中要进行转换的字段(如学科),对其进行分类(如数学、英语、语文)。
    注意:要用聚合函数,最后要GROUP BY。

    单列转多行

  • 相关阅读:
    gtest(C++单元测试框架)
    tinyXML入门
    笔记 解决vue3动态绑定本地图片失效问题
    面试技巧
    vuex 状态管理
    插槽的使用
    Vue-router 路由
    Vue组件
    (转)JS 常用 DOM
    9-26
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/6986994.html
Copyright © 2011-2022 走看看