ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sql server Row_number用法

2021-11-24 13:33:41  阅读:145  来源: 互联网

标签:group NUMBER PARTITION number server 分组 Row id ROW


作用

对结果集的输出进行编号。 具体来说,返回结果集分区内行的序列号,每个分区的第一行从 1 开始。

备注

ROW_NUMBER 是运行查询时计算出的临时值

语法

ROW_NUMBER ( )
OVER ( [ PARTITION BY value_expression , ... [ n ] ] order_by_clause )
一般写为
ROW_NUMBER ( )
OVER ( PARTITION BY 表达式 order by 字段 )
可单个,也可以有多个表达式及字段

参数

PARTITION BY value_expression
将 FROM 子句生成的结果集划分为应用 ROW_NUMBER 函数的分区。 value_expression 指定对结果集进行分区所依据的列 。 如果未指定 PARTITION BY,则此函数将查询结果集的所有行视为单个组
order_by_clause
ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。 它是必需的

参数解释

PARTITION BY:
和group by 作用类似,但是细节不同
区别如下:
partition by关键字是分析性函数的一部分,它和聚合函数(如group by)不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,
partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组。
partition by 与group by不同之处在于前者返回的是分组里的每一条数据,并且可以对分组数据进行排序操作。后者只能返回聚合之后的组的数据统计值的记录。
转载于原博客
group by是分组意思(在group by没有出现的字段,必须是聚合函数,例如:avg,sum等)
例如:
group by id根据id分组
group by id,name 根据id分组之后,再根据name分组

order by:这里就不解释了,排序的意思,不清楚的可以查阅一些资料

标签:group,NUMBER,PARTITION,number,server,分组,Row,id,ROW
来源: https://www.cnblogs.com/humblexwang/p/15597656.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有