SQL查询一个字段显示为一行作为表头其他数据为一列(行转置为列)
|
admin
2023年3月23日 11:16
本文热度 907
|
SQL行转列
现有一张表,表字段有学生姓名、学习科目、科目成绩,现想用SQL查询显示每个学生的姓名、科目及科目的分数,学生姓名纵向展示为一列,科目展示为一行,下显示学生对应科目的成绩。
学生成绩信息表如下:

查询显示表格如下:

实现SQL:
select NAME,SUM(CASE WHEN km='数学' THEN score END) AS '数学',SUM(CASE WHEN km='语文' THEN score END) AS '语文',SUM(CASE WHEN km='英语' THEN score END) AS '英语' from student GROUP BY NAME
该文章在 2023/3/23 11:16:58 编辑过