MySql行轉列的方法,case when

2021-09-26 22:02:47 字數 586 閱讀 9546

例如下表

將其轉換為

在oracle中,我們能使用decode函式,在mysql中decode函式和oracle該函式功能是不同的,我們需要使用case when then end(注意要有end),sql語句如下

select t.ddate,

max(case t.res when '勝' then t.count end) as "勝",

max(case t.res when '負' then t.count end) as "負"

from

(select ddate,res,count(res) count from tb_suc group by ddate,res

) t group by t.ddate

加max函式是為了防止勝或者負的值有乙個沒有出現,可自行去掉試

mysql 動態行轉列 MySQL行轉列

比如乙個單子,多個收據單用逗號隔開,怎麼把這乙個單子所有收據單獨展示出來,行轉成列呢?方法一 這裡需要用到迴圈,首先建立乙個1 10的序列 select rownum rownum 1 as seq from select rownum 0 r,bills limit 0,10 其次依次運用 sub...

mysql行轉列 subs mysql 行轉列

存在表score,記錄學生的考試成績,如下圖所示 現要求以 學生姓名,語文,數學,英語 這種格式顯示學生成績,如下圖所示 具體步驟如下 1 首先,使用case when函式輸出單個課程的成績 case when course 語文 then score end as 語文 case when cou...

mysql行轉列怎麼用 mysql錶行轉列的用法

現在有一張score表,儲存學生每門課的成績,結構資料如下 idnamesubjectscore 1張三 語文90 2張三 數學88 3張三 外語75 4李四 語文99 5李四 數學70 6李四 外語95 7李五 語文88 8李五 數學85 9李五 外語90 現在要求列出每個學生所有課程的成績.這就...