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。

 

 

單列轉多行

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM