sql 一个分组的问题!大虾来帮帮忙
数据库是这样的
名字 成绩 组别 地址 电话
小明 80 语文 杨浦区 110
小王 83 语文 静安区 220
小刘 64 语文 徐汇区 330
小张 98 语文 普陀区 440
小红 80 语文 宁夏区 550
小明 80 数学 杨浦区 110
小王 98 数学 静安区 220
小红 99 数学 徐汇区 330
小刘 98 数学 普陀区 440
最后的结果是这样的: (根据组别来排名)
排名 名字 成绩 组别 地址 电话
1 小张 98 语文 普陀区 440
2 小王 83 语文 静安区 220
3 小明 80 语文 杨浦区 110
3 小红 80 语文 宁夏区 550
5 小刘 64 语文 徐汇区 330
1 小红 99 数学 徐汇区 330
2 小刘 98 数学 普陀区 440
2 小王 98 数学 静安区 220
4 小明 80 数学 杨浦区 110
[解决办法]
Order by [组别],[成绩] DESC
[解决办法]
Select Row_number() OVER(PARTITION BY [组别] Order by [成绩] DESC) as [名次],[名字],[成绩],[组别],[地址],[电话]
From tb