mysql分析函数rownumber

发布时间: 2023-11-21 13:06 阅读: 文章来源:1MUMB4721PS
1、窗口函数之row_number()使用背景

窗口函数中,排序函数rank(),dense_rank()虽说都是排序函数,但是各有用处,假如像上章节说的“同组同分”两条数据,我们不想“班级名次”出现“越级”和“同号”,那么我们需要像excel行号一样依次递增,那么就需要使用row_number()这个函数。

“班级名次”出现同号

“班级名次”出现跳级

2、窗口函数使用方法

窗口函数row_number()跟rank()和dense_rank()的使用方法基本一致。所以只要清楚使用它们后,明白他们之间的差异就行了。使用row_number()函数后,你会发现“同组同分”的“班级名次”会按照像EXCEL行号一样依次递增。

selectid,NAME AS ‘姓名‘,score AS ‘分数‘,class AS ‘班级‘,row_number() over (PARTITION BY class ORDER BY score DESC) AS ‘班级名次‘FROMbackup_csm.`demo`

班级名次的值按照行号递增

总结:窗口函数中的排序函数就算告一段落了,后续还会陆续分享其他窗口函数,例如聚合函数、分箱函数等的使用方法。

•••展开全文