常用SQL——row_number()介绍

算法工程师日常用sql处理特征,row_number()可以适用的场景如下:

1、需要把多行数据按照某个字段score降序排序,并且新增一个字段作为排序序号,具体用法示例如下:

row_number() OVER (ORDER BY score DESC) AS ro_no

如果是升序排序,则去掉上面示例中的“DESC”即可。

上述示例中的ro_no即为排序序号。

其中,碰到相同的值,排序的序号不会重复,而是按照相同的值随机排序,递增进行序号编码。

2、需要把多行数据以某个字段作为分区,再在分区内按另一个字段score降序排序,具体用法示例如下:

row_number() OVER (PARTITION BY aaa ORDER BY score DESC) AS ro_no

你可能感兴趣的:(MySQL,sql,数据库)