作用:数据库去重重复记录,进行排序
语法:ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2)
功能:表示根据COL1 分组,在分组内部根据COL2 排序,而这个值就表示每组内部排序后的顺序编号(每个组内连续的唯一的)
row_number() 返回的主要是“行”的信息,并没有排名
--在test表中根据name分组,age进行排序
select name,age,row_number() over(partition by name order by age desc/asc) from test;
--去掉重复的记录
select * from (select name,age,row_number() over(partition by name order by age desc/asc) rn from test) where rn = 1;