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
本文介绍了如何使用SQL进行行转列查询,以展示每个学生的学习科目及其对应的成绩。通过CASE语句结合SUM函数,将学生的数学、语文、英语成绩分别作为列显示,实现了数据的重新组织。
1173

被折叠的 条评论
为什么被折叠?



