MySQL列變成行 利用max(case when then)


1. 利用max(case when then)

聚合函數,max,取最大值

 (case  when course = '語文' then score else 0 end) ---判斷

as 語文---別名作為列名

 

 2.max(when course='語文' then score else 0 end)

mysql> SELECT
    ->  `name`,
    ->  MAX(
    ->   CASE 
    ->   WHEN course='語文' THEN
    ->    score else 0
    ->   END
    ->  ) AS 語文,
    ->  MAX(
    ->   CASE 
    ->   WHEN course='數學' THEN
    ->    score else 0
    ->   END
    ->  ) AS 數學, 
    ->  MAX(
    ->   CASE 
    ->   WHEN course='英語' THEN
    ->    score else 0
    ->   END
    ->  ) AS 英語
    -> FROM
    ->  student
    -> GROUP BY `name`
    -> ;

 參考:https://www.jb51.net/article/109487.htm


免責聲明!

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



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