現在有一張score表,儲存學生每門課的成績,結構資料如下:
idnamesubjectscore
1張三 語文90
2張三 數學88
3張三 外語75
4李四 語文99
5李四 數學70
6李四 外語95
7李五 語文88
8李五 數學85
9李五 外語90
現在要求列出每個學生所有課程的成績.這就是乙個典型的行轉列的應用
sql 語句如下:
select name,max(case subject when '語文' then score else 0 end) as '語文',max(case subject when '數學' then score else 0 end) as '數學',max(case subject when '外語' then score else 0 end) as '外語' from `score` group by name
查詢結果如下:
name語文數學外語
張三 908875
李五 888590
李四 997095
idnamesubjectscore
1張三語文90
2張三數學88
3張三外語75
4李四語文99
5李四數學70
6李四外語95
7李五語文88
8李五數學85
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資料行轉列
在你找工作的經歷當中,是否有面試官問過你 資料庫行轉列如何實現?乙個典型的例子如下 有這樣乙個訂單表 om order 一條記錄包含訂單號 建立日期 訂單總金額 讓你統計不同年份對應各月份的銷售情況,要求每一年的銷售情況一行展示,效果如下 年份 一月 二月 三月 四月 五月 六月 七月 八月 九月 ...