• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    

    在上面语法中:

    二.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.n2
    

    运行结果:

     

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

    总结

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

    您可能感兴趣的文章:
    • MYSQL row_number()与over()函数用法详解
    • PostgreSQL ROW_NUMBER() OVER()的用法说明
    • postgreSQL中的row_number() 与distinct用法说明
    • postgresql rank() over, dense_rank(), row_number()用法区别
    • MySQL中row_number的实现过程
    • sql四大排名函数之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介绍
    • sql ROW_NUMBER()与OVER()方法案例详解
    上一篇:SQL Server如何通过创建临时表遍历更新数据详解
    下一篇:SQL Server 开窗函数 Over()代替游标的使用详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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