SQL 排名问题

SQL server排名问题
利用SQL系统函数排名
row_number() , rank() ,dense_rank(),ntile()
=>row_number():将select 查询到的数据进行排序,每条数据加一个序号,不能用作排名,一般用作排序
用法:

 select row_number() over(order by studentscore desc),* from  t_student

=>rank():排名函数 可对某个字段排名 重点:row_number()会依次进行排序,序号不同rank()序号会相同
用法:

 select rank() over(order by studentscore desc),* from t_student

=>dense_rank():排名函数:与rank功能相似,排名是连续的 rank 是跳跃的
用法:

 select dense_rank() over(order by studentscore desc),* from t_student

=>ntile():函数是将有序分区中的行分发到指定数目的组中,各个组有编号,编号从1开始
用法:

select ntile(3) over(order by studentscore desc),* from t_student

你可能感兴趣的:(SQL)