SQL Server中row_number函数的常见用法示例详解

这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一.SQL Server Row_number函数简介

ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数。 行号以每个分区中第一行的行号开头。

以下是ROW_NUMBER()函数的语法实例:

select *,row_number() over(partition by column1 order by column2) as n from tablename

在上面语法中:

PARTITION BY子句将结果集划分为分区。 ROW_NUMBER()函数分别应用于每个分区,并重新初始化每个分区的行号。

PARTITION BY子句是可选的。如果未指定,ROW_NUMBER()函数会将整个结果集视为单个分区。

ORDER BY子句定义结果集的每个分区中的行的逻辑顺序。 ORDER BY子句是必需的,因为ROW_NUMBER()函数对顺序敏感。

二.Row_number函数的具体用法

1.使用row_number()函数对结果集进行编号,如:

select ROW_NUMBER() over(order by recordid ) as 编号,* from [dbo].[Basal_Anormal_Solution]

运行结果:

SQL Server中row_number函数的常见用法示例详解

2.对结果集按照指定列进行分组,并在组内按照指定列排序(如:把班级的总分按照小组进行分组显示,分组后在组内进行从高分到低分的排序)

select *,row_number() over(partition by createby order by actionOpeid) as n from [dbo].[Basal_Anormal_Solution]

运行结果:

SQL Server中row_number函数的常见用法示例详解

3.对结果集按照指定列去重(如:对学生成绩按小组进行分组显示,结果集中只显示每组中一位最高分的学生)

select a.* from (select *,row_number() over(partition by createby order by actionOpeid)
as n from [dbo].[Basal_Anormal_Solution])as a where a.n<2

运行结果:

SQL Server中row_number函数的常见用法示例详解

注意: 当我们求的是第一名成绩的时候,不能用row_number(),因为如果同班有两个并列第一,row_number()只返回一个结果。这个时候就要用到另外一个函数,rank()和dense_rank();rank()和dense_rank()区别:rank()是跳跃排序,有两个第二名时接下来就是第四名。这个时候我们通常会选择用rank()函数,灵活应用。

总结

到此这篇关于SQL Server中row_number函数常见用法的文章就介绍到这了,更多相关SQL Server row_number函数用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:脚本之家

链接:https://www.jb51.net/article/196634.htm

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

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/896029.html

(0)
上一篇 2025年1月4日 00:29:53
下一篇 2025年1月3日 23:56:49

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • sqlserver交集差集的用法详解

    这篇文章主要介绍了sql server 交集,差集的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 概述 为什么使用集合运算: 在集合运算中比联接查询和EXIS…

    2025年1月4日 数据库
    100
  • SQLServer中row_number分页查询的用法详解

    这篇文章主要介绍了SQL Server中row_number的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 ROW_NUMBER()函数将针对SELECT语句…

    数据库 2025年1月4日
    100
  • sql server数据库中raiserror函数用法的详细介绍

    这篇文章主要介绍了sql server数据库中raiserror函数用法的详细介绍,raiserror用于抛出一个异常或错误,让这个错误可以被程序捕捉到。对此感兴趣的可以了解一下 sql server数据库中raiserror函数的用法 s…

    数据库 2025年1月4日
    100
  • 详解SQL游标的用法

    这篇文章主要介绍了SQL游标的用法,文中讲解非常详细,配合代码帮助大家更好的理解学习,感兴趣的朋友可以了解下 类型: 1.普通游标 只有NEXT操作 2.滚动游标 有多种操作 1.普通游标 DECLARE @username varchar…

    2025年1月4日
    100
  • 电动牙刷需要手动来回刷吗

    电动牙刷是目前很多人群都在使用的生活用品,大部分人都认为电动牙刷清洁口腔会干净很多,但事实的确也是这样。那么,电动牙刷需要手动来回刷吗?电动牙刷来回刷还是不动怎么办?趣丁网为您带来详细解答。 电动牙刷需要手动来回刷吗 不一定。这取决于您使用…

    2025年1月3日
    508.8K00
  • 去死皮膏怎么用效果好

    去死皮膏是比较常见的一种清洁护理产品,它使用起来比较方便,可以有效清洁肌肤表面的死皮,让肌肤变得更加光滑细腻。去死皮膏的使用也有一定技巧,一般先用洗面奶洗脸,然后在用去死皮膏清洁,然后用清水清洁肌肤。 去死皮膏怎么用效果好 步骤: 1、首先…

    2024年12月17日
    616.6K00
  • 洗脸巾是干擦还是湿擦

    一次性洗脸巾在生活中使用频率还是挺高的,那么,洗脸巾是干擦还是湿擦?其实两种方法都可以用,大家根据自己的喜好进行即可,洗脸巾就是充当毛巾的存在,怎么洗脸舒适就怎么使用。 洗脸巾是干擦还是湿擦 洗脸巾是湿擦比较好,因为把洗脸巾打湿之后,使用起…

    2024年12月7日
    158.0K00
  • 用植村秀琥珀洁颜油可以不要洗面奶吗 植村秀琥珀洁颜油用法

    植村秀洁颜油一共有4款,都是植村秀不错的产品,而且一瓶也很大,很经用,适合经常需要带妆的小伙伴。其中一款洁面油是黄棕色的琥珀洁颜油,那么这个洁颜油用了还要洗面奶吗? 用植村秀琥珀洁颜油可以不要洗面奶吗 可以不用洗面奶。 琥珀洁颜油能很好地卸…

    2024年12月7日 科普答疑
    60.7K00
  • 俪纳斯面膜香港有吗 俪纳斯水芙蓉面膜用法

    俪纳斯水芙蓉面膜很小众,但是在欧洲药妆界却很知名,欧洲四大药妆品牌之一。它有着号称“十分钟急救”补水的功效,涂抹式面膜、不用洗,用化妆棉抹掉即可。下面,我们来看看俪纳斯水芙蓉面膜用法,希望能够帮助到大家。 俪纳斯面膜香港有吗  有。 ril…

    2024年12月7日 科普答疑
    806.6K00
  • 修丽可发光瓶用法你都知道吗?集美们看这里

    说到精华只要有一点护肤意识的小姐姐,化妆台上都不会缺少这个物品,而近期一款修丽可发光瓶更是因其功效极佳因而成了许多小姐姐的挚爱。下面小编就分享大家一些修丽可发光瓶的使用方法,希望对大家有所帮助。 修丽可发光瓶的用法你都知道吗 这款精华液我们…

    2024年12月7日
    585.6K00

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信