sqlserver row_number_row_number() over order by

sqlserver row_number_row_number() over order by语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说ROW_NUMBER()从1开始,为每一条分组记录返回一个数字,这里的ROW

SQL使用ROW_NUMBER() OVER函数自动生成序列号

语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)

简单的说ROW_NUMBER()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY CYLH DESC) 是先把xlh列降序,再为降序以后的每条CYLH记录返回一个序号。 

示例:  CYLH        ROW_MUM

           1900              1 

           1600              2 

           1185              3 

           780                4

分析:ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)

也可这样使用:ROW_NUMBER() OVER (ORDER BY COL2)

例子:

建立测试表,并插入测试数据

 CREATE TABLE TEST_ROW_NUMBER_01(
       CMZH varchar(10) not null,
       CYLH varchar(10) null,
       MJE money null,
);

INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES (2106000011,20281997,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000010,20281996,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000008,20281995,0.00)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000006,20281994,9.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000004,20281993,5.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000001,20281992,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000002,20281992,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000007,20217280,0.00)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000009,20172458,5.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000005,20121813,0.00)

执行脚本自动生成行号并按CYLH进行排序(滑动查看代码)

SELECT ROW_NUMBER()OVER(ORDER BY CYLH DESC) AS ROWNUM,* FROM TEST_ROW_NUMBER_01

结果如下:

sqlserver row_number_row_number() over order by

 

 注意:在使用over等开窗函数时,over里头的分组及排序的执行晚于“where,group by,order by”的执行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5654.html

(0)
上一篇 2023-04-30
下一篇 2023-04-30

相关推荐

  • TDSQL MySQL索引分类,90%的开发都不知道「终于解决」

    TDSQL MySQL索引分类,90%的开发都不知道「终于解决」TDSQL MySQL的索引分类问题一直让人头疼,几乎所有的资料都会给你列一个长长的清单,给你介绍什么主键索引、单值索引,覆盖索引,自适应哈希索引,全文索引,聚簇索引,非聚簇索引等……给人的感觉就是云

    2023-04-20
    102
  • metadata怎么打开_查看过分享是什么意思

    metadata怎么打开_查看过分享是什么意思作者:洪斌 爱可生南区负责人兼技术服务总监,MySQL ACE,擅长数据库架构规划、故障诊断、性能优化分析,实践经验丰富,帮助各行业客户解决 MySQL 技术问题,为金融、运营商、互联网等行业客户提…

    2023-03-13
    110
  • Python字典遍历

    Python字典遍历Python是一种解释型、面向对象、动态数据类型的高级编程语言,与其他编程语言相比,Python的优势在于语法简洁、易读易写。Python内建了字典(Dictionary)数据类型,字典是一种可变的键值对集合,每个键与其相应值之间是一一对应的关系。

    2024-04-14
    24
  • Python List Values应用与示例

    Python List Values应用与示例Python列表是一种可变的数据类型,可以存储任意数量和类型的元素,用方括号([])表示,元素之间用逗号(,)分隔。

    2024-02-12
    42
  • 提高用户粘性:Python实现的小技巧

    提高用户粘性:Python实现的小技巧个性化推荐是现今很多网站都在实践的一种方法,它可以帮助用户更快速地找到自己感兴趣的内容,并且增强用户对网站的粘性。Python中有很多机器学习库可以实现个性化推荐的算法,如Scikit-learn、TensorFlow等。其中,基于协同过滤的推荐算法比较常见。下面是一个协同过滤的推荐示例:

    2024-01-24
    58
  • Spark: 单词计数(Word Count)的MapReduce实现(Java/Python) – orion

    Spark: 单词计数(Word Count)的MapReduce实现(Java/Python) – orion我们在上一篇博客中学习了如何用Hadoop-MapReduce实现单词计数,现在我们来看如何用Spark来实现同样的功能。Spark框架也是MapReduce-like模型,采用“分治-聚合”策略来对

    2023-05-19
    100
  • 关系数据库中有几种数据完整性?[通俗易懂]

    关系数据库中有几种数据完整性?[通俗易懂] 数据完整性 数据完整性=可靠性+准确性 *** ①数据存放在表中 ②数据完整性的问题大多是由设计引起 ③创建表的时候,就应当保证以后数据输入时正确的, 加约束 错误的数据、不符合要求的数据不…

    2023-02-22
    105
  • 使用Python的gmtime函数

    使用Python的gmtime函数Python是一种高级编程语言,多用于解决科学计算、数据分析、Web开发等领域的问题。在Python的标准库中,提供了许多常用的函数和模块,其中gmtime()函数就是其中之一。gmtime()函数可以将时间戳转换为具有UTC时间的时间元组,提供了很多便利,下面我们来了解一下。

    2024-04-18
    23

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注