加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

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

发布时间:2020-10-24 01:32:21 所属栏目:站长百科 来源:网络整理
导读:这篇文章首要给各人先容了关于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]

运行功效:

2.对功效集凭证指定罗列办分组,并在组内凭证指定列排序(如:把班级的总分凭证小组举办分组表现,分组后在组内举办从高分到低分的排序)

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

运行功效:

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

运行功效:

留意: 当我们求的是第一名后果的时辰,不能用row_number(),由于假犹如班有两个并列第一,row_number()只返回一个功效。这个时辰就要用到其它一个函数,rank()和dense_rank();rank()和dense_rank()区别:rank()是跳跃排序,有两个第二名时接下来就是第四名。这个时辰我们凡是会选择用rank()函数,机动应用。

总结

到此这篇关于SQL Server中row_number函数常见用法的文章就先容到这了,更多相干SQL Server row_number函数用法内容请搜刮剧本之家早年的文章或继承赏识下面的相干文章但愿各人往后多多支持剧本之家!

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读