1.row_number函数,排名连续不重复,搭配over()使用,需要注意over字句与外面的order by字段,顺序需一致。
select age, row_number() over() from table
select age, row_number() over(order by age) from table order by age
2.rank函数,排名不连续,会根据排序的字段将相同的值归为一组。
select age,rank() over(order by age) from table order by age
3.dense_rank函数,排名连续,会根据排序的字段将相同的值归为一组。
select age,dense_rank() over(order by age) from table order by age
4.ntile函数,将所有记录分成n个组,每组序号一样
select age,ntile(2) over(order by age) from table order by age