下面是一个示例:
ts,其中包含学生的姓名和成绩信息。我们想要按照成绩从高到低排序,并且为每个学生的成绩加上序号。可以使用以下SQL语句:
kame, scorets
ORDER BY score DESC;
1. ROW_NUMBER()函数是窗口函数,它用于为每一行生成一个序号。
2. OVER子句用于指定排序规则,这里按照成绩从高到低排序。
4. 最后再次使用ORDER BY子句,按照成绩从高到低排序。
执行以上SQL语句后,我们可以得到以下结果:
+------+--------+-------+kame | score
+------+--------+-------+
1 | Alice | 98
2 | Bob | 95 |dy | 92
4 | David | 89 |ily | 87 |k | 85
7 | George | 82 | | 80
+------+--------+-------+
可以看到,每个学生的成绩前都有一个序号,这些序号是按照成绩从高到低排序后生成的。
使用ROW_NUMBER()函数可以为排序后的结果加上序号,这个函数是窗口函数的一种,可以按照指定的排序规则为每一行生成一个序号。