还是以学生.语文.数学.分数为例吧, 感觉这个和helloworld都有一拼了. 造一张表如下, 整张报表就围绕这个表转圈了, 顺便说下就是名字如有雷同纯属巧合 新建个存储过程 ALTER PROCEDURE [dbo].[StudentReport] AS BEGIN select 学期,max(总分) 最高总分 from(select 学期,姓名, sum(分数) as 总分 from 学生分数 group by 学期, 姓名) a group by 学期; --按学期循环 select 课