SQL行转列,列转行 - 简书 (jianshu.com)
你这个是列转行
SELECT *FROM student1 UNPIVOT (
score FOR subject IN ("语文","数学","英语"))
----------
SELECT
NAME,
'语文' AS subject ,
MAX("语文") AS scoreFROM student1 GROUP BY NAMEUNIONSELECT
NAME,
'数学' AS subject ,
MAX("数学") AS scoreFROM student1 GROUP BY NAMEUNIONSELECT
NAME,
'英语' AS subject ,
MAX("英语") AS scoreFROM student1 GROUP BY NAME
-----
SELECT
NAME,
'语文' AS subject,
MAX("语文") AS scoreFROM student1
GROUP BY
NAME
UNION
SELECT NAME,
'数学' AS subject,
MAX("数学") AS scoreFROM student1
GROUP BY
NAME
UNION
SELECT NAME,
'英语' AS subject,
MAX("英语") AS scoreFROM student1
GROUP BY
NAME