sqlservercount函数的用法(SQL Server中row_number函数的常见用法示例详解)
类别:数据库 浏览量:2959
时间:2021-10-06 01:54:30 sqlservercount函数的用法
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函数用法内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- sqlserver2008手动备份方法(MSSQL 2008 自动备份数据库的设置方法)
- sqlserver追加主键(sqlserver主键自增的实现示例)
- sqlserver游标实例(Sql Server临时表和游标的使用小结)
- sqlserver创建表结构时添加约束(SQL Server 通过with as方法查询树型结构)
- SQLServer获取临时表所有列名或是否存在指定列名的方法(SQLServer获取临时表所有列名或是否存在指定列名的方法)
- sqlserver定时计划(sql server deadlock跟踪的4种实现方法)
- sqlserver模糊查询使用定义的字段(SQL Server模糊查询的常见方法总结)
- sqlserver常用流控语句(SQL Server实现自动循环归档分区数据脚本详解)
- sqlserver连接服务器怎么解决(Sql server端口未打开连接不上的解决方案)
- sqlserver安装日志文件夹(SQL SERVER日志进行收缩的图文教程)
- sql server优化性能(SQLServer地址搜索性能优化)
- sqlserver实例全库备份(sql server通过脚本进行数据库压缩全备份的方法推荐)
- sqlserver 存储过程参数类型(详解SQL Server表和索引存储结构)
- 查sqlserver锁表语句(Sql Server如何查看被锁的表及解锁的方法)
- sqlserver新建连接服务器卡住(SQL Server成功与服务器建立连接但是在登录过程中发生错误的快速解决方案)
- SqlServer 表单查询问题及解决方法(SqlServer 表单查询问题及解决方法)
- 自制橡皮泥(自制橡皮泥)
- 还在卖 禁药西布曲明网上论斤卖(还在卖禁药西布曲明网上论斤卖)
- 微商在朋友圈热卖的 DL减肥咖啡 含违禁药物,你还敢买吗(微商在朋友圈热卖的)
- 八一节,说说中国女兵(八一节说说中国女兵)
- 王治郅菜鸟赛季已让八一带入正轨,大郅七大经典语录或是成功秘诀(王治郅菜鸟赛季已让八一带入正轨)
- 庆八一,重读经典红色语录,感悟互联网发展硬道理(重读经典红色语录)
热门推荐
- mysql主从配置教程(MySQL大库搭建主从的一种思路分享)
- sqlserver并发性能(sql server中的任务调度与CPU深入讲解)
- ASP.NET中获取匿名对象的属性值
- 阿里云服务器可以连接几个面板(阿里云云服务器宝塔面板的安装图文教程详解)
- html5怎么将字体变为红色(Html5自定义字体解决方法)
- mysql字符类型长度限制
- springboot内置tomcat启动过程(Tomcat启动springboot项目war包报错:启动子级时出错的问题)
- python表白神器教程(python浪漫表白源码)
- angular 常用模块(详解Angular之路由基础)
- python定时任务(Python使用crontab模块设置和清除定时任务操作详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9