`
webdev2014
  • 浏览: 679819 次
文章分类
社区版块
存档分类
最新评论

SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果

 
阅读更多

原作者好像叫做topcat,我是自己理解了一下凭记忆写下来备用的。

如果使用Select Name From StudentTable,显示的结果是:

Name

张三

李四

而如果使用Select ROW_NUMBER() AS ROWINDEX,Name From StudentTable,则显示的结果是

ROWINDEX Name

1张三

2 李四

当然一般查询的结果是不需要添加编号的,因为在显示数据的时候,列表本身就有编号。但是这样做的好处就是你可以在数据库查询出多个结果集,然后通过ROWINDEX字段链接在一起之后再返回给客户,更加的灵活。

另外有几个参数可选:

1。 ROW_NUMBER()

例如:Select ROW_NUMBER() OVER(ORDER BY Name)AS ROWINDEX,Name From StudentTable

效果是依次排序

2。RANK()

例如:Select RANK() OVER(ORDER BY Name)AS ROWINDEX,Name From StudentTable

效果是假如有5个人叫张三,则5个张三都是1号,然后第一个李四就是6号,以此类推

3。DENSE_RANK()

和上一个类似,区别是第一个李四是2号

分享到:
评论

相关推荐

    SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较

    排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数... row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号。row_number函数的用法如下面的SQL语句所示:

    SQL Server使用row_number分页的实现方法

    本文为大家分享了SQL Server使用row_number分页的实现方法,供大家参考,具体内容如下 1、首先是 select ROW_NUMBER() over(order by id asc) as ‘rowNumber’, * from table1 生成带序号的集合 2、再查询该集合的 ...

    sql四大排名函数之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介绍

    定义:ROW_NUMBER()函数作用就是将select查询到的数据进行排序,每一条数据加一个序号,他不能用做于学生成绩的排名,一般多用于分页查询,  比如查询前10个 查询10-100个学生。 实例: 1.1对学生成绩排序   这里...

    SqlServer 序号列的实现方法

    从 SQL SERVER 2005 开始, SQL SERVER 提供了一个 ROW_NUMBER() 函数,大大简化了工作。 代码如下:SELECT *,ROW_NUMBER() OVER (ORDER BY 排序字段) AS [AUTOID] FROM 表名; 序号字段的别名,可以在后续的条件

    MySQL rownumber SQL生成自增长序号使用介绍

    MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能

    T-SQL高级查询

    排序在很多地方需要用到,需要对查询结果进行排序并且给出序号。比如: 1、 对某张表进行排序,序号需要递增不重复的 2、 对学生的成绩进行排序,得出名次,名次可以并列,但名次的序号是连续递增的 3、 在...

    水晶报表(rdlc报表)常用小技巧整理

    1、RDLC报表表格中添加序号,调用表达式RowNumber( Nothing ) 2、RDLC报表,表格分组后添加序号,分两种情况 第一种情况,在分组内添加从1开始的序号,每个分组内都是从1开始计数。 在报表属性-》代码中添加如下...

    SQL开窗函数介绍以及示例

    ROW_NUMBER(): 为每一行分配一个唯一的数字序号。 RANK(): 计算每一行在结果集中的排名,相同值会有相同的排名,但不会有间隔。 DENSE_RANK(): 计算每一行在结果集中的排名,相同值会有相同的排名,但会有间隔。 SUM...

    SQLSERVER存储过程

    金蝶软件相关开发存储过程:select row_number() over (order by fnumber) as '序号',fnumber as '产品代码',fname as '产品名称', fmodel as '规格型号', fauxqty as '数量'

    Oracle事例

    多个字段时,在最后加上 Foreign Key (字段名) REFERENCE 表名(字段) 连带删除选项 (on delete cascade 当指定时,如果父表中的记录被删除,则依赖于父表的记录也被删除 REFERENCE 表名() on delete cascade; 7...

    SQL实现相邻两行数据的加减乘除操作

    SQL实现表里数据按一定顺序排序后,按某几个字段分组后相邻两行数据实现加减乘除运算。 思路: 1:先把表数据分组排序后打上序号标签 2:根据需求把标签字段加/减一 上代码: select distinct a.phone,from_unix...

    sql2005 根据指定字段排序编号

    SQL语句如下: 代码如下:WITH 表1 AS ( SELECT 编号字段名, ROW_NUMBER() OVER(ORDER BY 排序字段名 DESC) AS RowNum FROM 表名 ) Update 表1 SET 编号字段名=RowNum 应用场景: 通过这样的SQL语句根据小组人气值对...

    SQL2005 大数据量检索的分页

    @StartIndex为当前页起始序号,@EndIndex为当前页结束记录序号,可以直接作为参数输入,也可以通过输入PageSize和PageIndex计算得出 代码如下:select * from ( select *,row_number() over(order by OrderColumn) as...

    Oracle 实现类似SQL Server中自增字段的一个办法

    创建触发器: 代码如下:create or replace TRIGGER TRIG_TEST BEFORE INSERT ON TABLE1 FOR EACH ROW DECLARE tmpVar NUMBER; BEGIN tmpVar := 0; Select SEQU_PROC_ASSOCIATEINFO.NextVal into tmpVar f

    SqlServer 2005 T-SQL Query 学习笔记(3)

    就是指用页面的序号和页面的大小请求一个单独的页面。下面是例子。 DECLARE @pagesize AS INT, @pagenum AS INT; SET @pagesize = 5; SET @pagenum = 2; WITH SalesCTE AS ( SELECT ROW_NUMBER() OVER(ORDER BY qty...

Global site tag (gtag.js) - Google Analytics