sql排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE、offset)

1.ROW_NUMBER()OVER(partition by * order by *)

依次排序且不会重复

用到partition by 的例子:

知道排名函数可以分组即可

2.RANK() OVER(partition by * order by *)

over子句中排序字段值相同的序号是一样的,后面字段值不相同的序号将跳过相同的排名号排下一个

3.DENSE_RANK() OVER(partition by * order by *)

dense_rank函数出现相同排名时,将不跳过相同排名号

4.NTILE(组数) OVER(partition by * order by *)

ntile函数可以对序号进行分组处理,将有序分区中的行分发到指定数目的组中。

5.offset 用法

eg:limit 1 offset 2(找排名第三)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容