MySql列转行的技巧

转载地址:https://www.cnblogs.com/thomas12112406/p/5813394.html

数据表:

image

列转行:利用max(case when then)

`max``---聚合函数 取最大值`

`(`casecourse when'语文'thenscore else0 end)---判断`

` as 语文``---别名作为列名`

SELECT `name`, 
        MAX( CASE  WHEN  course='语文' THEN score END ) AS 语文, 
        MAX( CASE  WHEN course='数学' THEN score END ) AS 数学, 
        MAX( CASE  WHEN course='英语' THEN score END ) AS 英语 
FROM student GROUP BY `name`; 
image

你可能感兴趣的:(MySql列转行的技巧)