sql中有没有类似于oracle中rownum的函数
5个回答
2013-06-23
展开全部
SQL Server 2000中没有SQL Server 2005中有一个ROW_NUMBER()函数实现了相同的功能 ROW_NUMBER ( ) OVER ( [ <partition_by_clause> ] <order_by_clause> ) 参数 <partition_by_clause> 将 FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。有关 PARTITION BY 的语法,请参阅 OVER 子句 (Transact-SQL)。 <order_by_clause>确定将 ROW_NUMBER 值分配给分区中的行的顺序。有关详细信息,请参阅 ORDER BY 子句 (Transact-SQL)。当在排名函数中使用 <order_by_clause> 时,不能用整数表示列。 返回类型 bigint 备注 ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。 参考: http://msdn.microsoft.com/zh-cn/library/ms186734(SQL.90).aspx
展开全部
使用top。
rownum,是指显示oracle查询结果的若干笔资料,它放在where后面,比如:
select * from table where rownum<10;
top,是指显示Sql Server查询结果的若干笔资料,它放在select之后,比如:
select top 10 * from table;
简单的说,在oracle和Sql Server中,以上两句SQl是等效的,但若深入研究,它们又不同,而且也无法相互换用。
rownum,是指显示oracle查询结果的若干笔资料,它放在where后面,比如:
select * from table where rownum<10;
top,是指显示Sql Server查询结果的若干笔资料,它放在select之后,比如:
select top 10 * from table;
简单的说,在oracle和Sql Server中,以上两句SQl是等效的,但若深入研究,它们又不同,而且也无法相互换用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Oracle row_number()函数用法
row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。
与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪劣rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码。
row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开始排序)。
rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)
dense_rank()也是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的。
oracle 分析函数 row_number(),返回一个整数值(>=1);
语法格式:
row_number() over (order by col_1[,col_2 ...])
作用:按照col_1[,col_2 ...]排序,返回排序后的结果集。
row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。
与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪劣rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码。
row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开始排序)。
rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)
dense_rank()也是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的。
oracle 分析函数 row_number(),返回一个整数值(>=1);
语法格式:
row_number() over (order by col_1[,col_2 ...])
作用:按照col_1[,col_2 ...]排序,返回排序后的结果集。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-23
展开全部
在sql2005以后就用了rownum这个函数但是在2000是没有的不过可以通过临时表和identity函数还做一个类似的方法
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-23
展开全部
好像没有吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询