row_number()over(partition by claim_no,brch_code order by advc_issue_date desc) rn
时间: 2023-12-06 17:37:59 浏览: 74
`row_number()over(partition by claim_no,brch_code order by advc_issue_date desc) rn`是一种在SQL中使用的窗口函数,它可以为每个分组内的行分配一个唯一的序号。在这个例子中,它会按照`claim_no`和`brch_code`两列进行分组,并按照`advc_issue_date`列进行降序排序。然后,它会为每个分组内的行分配一个唯一的序号,这个序号称为`rn`。序号从1开始,每个序号对应一个分组内的行。
举个例子,如果有以下数据:
| claim_no | brch_code | advc_issue_date |
| -------- | --------- | -------------- |
| 1 | A | 2021-01-01 |
| 1 | A | 2021-02-01 |
| 1 | B | 2021-03-01 |
| 2 | A | 2021-04-01 |
| 2 | B | 2021-05-01 |
那么使用`row_number()over(partition by claim_no,brch_code order by advc_issue_date desc) rn`会得到以下结果:
| claim_no | brch_code | advc_issue_date | rn |
| -------- | --------- | -------------- | --- |
| 1 | A | 2021-02-01 | 1 |
1 | A | 2021-01-01 | 2 |
| 1 | B | 2021-03-01 | 1 |
| 2 | A | 2021-04-01 | 1 |
| 2 | B | 2021-05-01 | 1 |
阅读全文