row_number() over(partition by WO_USER_NO order by NN1) rn
时间: 2023-11-22 18:50:19 浏览: 75
`row_number() over(partition by WO_USER_NO order by NN1) rn`是一种窗口函数,它可以为每个分区内的行分配一个唯一的数字。在这个例子中,`partition by WO_USER_NO`表示按照`WO_USER_NO`列进行分区,`order by NN1`表示按照`NN1`列进行排序。因此,`rn`列将为每个分区内的行分配一个唯一的数字,这个数字将根据`NN1`列的值进行排序。
举个例子,假设我们有以下表格:
| WO_USER_NO | NN1 |
|------------|-----|
| 1 | 10 |
| 1 | 20 |
| 1 | 30 |
| 2 | 5 |
| 2 | 15 |
| 2 | 25 |
如果我们运行以下查询:
```sql
SELECT WO_USER_NO, NN1, row_number() over(partition by WO_USER_NO order by NN1) rn
FROM table_name;
```
我们将得到以下结果:
| WO_USER_NO | NN1 | rn |
|------------|-----|----|
| 1 | 10 | 1 |
| 1 | 20 | 2 |
1 | 30 | 3 |
| 2 | 5 | 1 |
| 2 | 15 | 2 |
| 2 | 25 | 3 |
这里我们可以看到,`rn`列为每个分区内的行分配了一个唯一的数字,并根据`NN1`列的值进行排序。
阅读全文