求助!sql语句写法

baopeng82 2015-03-17 10:02:35
有一个学生成绩表,我想取出每个班级前三名的学生和总成绩,用一条sql语句怎么写?
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Neo_whl 2015-03-17
  • 打赏
  • 举报
回复

;WITH CTE AS(
    SELECT 班级,姓名,SUM(成绩)[总成绩]
        ,ROW_NUMBER()OVER(PARTITION BY 班级 ORDER BY SUM(成绩) DESC)RN
    FROM TB
    GROUP BY 班级,姓名
)
SELECT * FROM CTE WHERE RN<=3
好强,真速度!
baopeng82 2015-03-17
  • 打赏
  • 举报
回复
引用 3 楼 ky_min 的回复:
;WITH CTE AS(
	SELECT 班级,姓名,SUM(成绩)[总成绩]
		,ROW_NUMBER()OVER(PARTITION BY 班级 ORDER BY SUM(成绩) DESC)RN
	FROM TB
	GROUP BY 班级,姓名
)
SELECT * FROM CTE WHERE RN<=3
谢谢,完全符合
还在加载中灬 2015-03-17
  • 打赏
  • 举报
回复
;WITH CTE AS(
	SELECT 班级,姓名,SUM(成绩)[总成绩]
		,ROW_NUMBER()OVER(PARTITION BY 班级 ORDER BY SUM(成绩) DESC)RN
	FROM TB
	GROUP BY 班级,姓名
)
SELECT * FROM CTE WHERE RN<=3
baopeng82 2015-03-17
  • 打赏
  • 举报
回复
引用 1 楼 u011015550 的回复:

     --  表结构可以给下么?
     --  成绩表中有哪些字段?是否还会有关联表,比如班级编号也在成绩表中?
        
班级 姓名 科目 成绩 1班 张三 英语 80 1班 张三 数学 80 2班 李四 英语 80 2班 李四 数学 80 。。。。。。 最后只想要每个班按总成绩取前三名
Neo_whl 2015-03-17
  • 打赏
  • 举报
回复

     --  表结构可以给下么?
     --  成绩表中有哪些字段?是否还会有关联表,比如班级编号也在成绩表中?
        

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧