1、SELECT 姓名, max(CASE 课程 WHEN'语文' THEN 分数 ELSE 0 END) 语文, max(CASE 课程 WHEN'数学' THEN 分数 ELSE 0 END) 数学, max(CASE 课程 WHEN'物理' THEN 分数 ELSE 0 END) 物理 FROM tb GROUP BY 姓名
2、
SELECT * FROM tb pivot( MAX(分数) FOR 课程 IN (语文,数学,物理))a
本文介绍两种使用SQL查询学生各科最高分数的方法:一种是通过GROUP BY结合CASE语句实现;另一种则是利用PIVOT函数来完成。这两种方法均可从包含学生姓名、所学科目及分数的表格中获取所需数据。
1、SELECT 姓名, max(CASE 课程 WHEN'语文' THEN 分数 ELSE 0 END) 语文, max(CASE 课程 WHEN'数学' THEN 分数 ELSE 0 END) 数学, max(CASE 课程 WHEN'物理' THEN 分数 ELSE 0 END) 物理 FROM tb GROUP BY 姓名
2、
SELECT * FROM tb pivot( MAX(分数) FOR 课程 IN (语文,数学,物理))a

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