SQL Server —— ROW_NUMBER() OVER()

ROW_NUMBER() OVER()的用法:分组排序

  • 语法:ROW_NUMBER() OVER(partition by 分组列 order by 排序列)
一、仅对数据进行排序
--按照C#分数从高到低进行排名
select *,ROW_NUMBER() over(order by CSharp desc) as CSharpRank from ScoreList

原数据:
SQL Server —— ROW_NUMBER() OVER()_第1张图片

排名后数据:
SQL Server —— ROW_NUMBER() OVER()_第2张图片

二、对数据进行分组和排序
select sl.Id,sl.StudentId,sl.CSharp,sl.SQLServerDB ,ss.ClassId,ROW_NUMBER() over(partition by ss.ClassId order by ss.ClassId) CC
from ScoreList sl
left join Students ss on sl.StudentId=ss.StudentId

原数据:
SQL Server —— ROW_NUMBER() OVER()_第3张图片
分组排名后数据:
SQL Server —— ROW_NUMBER() OVER()_第4张图片

你可能感兴趣的:(SQL,Server,sqlserver)