row_number() over(partition by举例
时间: 2023-08-30 14:09:01 浏览: 100
SQL中的ROW NUMBER() OVER()
row_number() over(partition by opr_id order by res_type)是一个在SQL Server 2005之后引入的函数,它允许我们对结果集进行分组排序。这个函数可以帮助我们轻松地进行一些操作。
举个例子,假设我们有一个名为rm_circuit_route的表,其中包含了opr_id和res_type两列。我们想要找出每个opr_id分组中的第一条记录和最后一条记录的类型。为了实现这个目的,我们可以使用first_value()和last_value()函数结合row_number()函数。
首先,我们可以使用partition by子句将结果集按照opr_id进行分组。然后,我们可以使用order by子句将每个分组内的记录按照res_type进行排序。最后,我们可以使用first_value()和last_value()函数来获取每个分组内的第一条记录和最后一条记录的res_type值。
通过这种方式,我们可以得到每个opr_id分组中的第一条记录和最后一条记录的类型。这样的操作可以帮助我们更好地理解和分析数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [sqlserver巧用row_number和partition by分组取top数据](https://download.csdn.net/download/weixin_38729685/12835325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [row_number() OVER(PARTITION BY)](https://blog.csdn.net/zimiao552147572/article/details/88427210)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文