类似 mssql select top ...的实现
在ms sqlserver中,取满足条件的前几行可以使用select top语句,但在oracle中并没有这样的语句, 我从网上看到了一种实现 select * (select * from talbename) where rownum <=100 order by rownum asc 这样的确可以实现与select top 相同的效果 不过我想请问,这条语句是先查找出所有结果,然后再返回前100行? 还是查找到符合条件的100行记录就停止查找?
order by asc...画蛇添足了吧。子查询里面要加上排序 当然要检索所有的结果,否则怎么知道那100条记录就是符合条件的 嗯,外面的orderby 似乎是没用, 我实际使用的时候用的是下面的语句 select * (select * from talbename order by UUID) where rownum <=100 实际上我是想在分页上使用,每页查100条,用户按下一页时候再查100条,而不是一次全查出来 按照1楼说的,似乎这条语句达不到我想要的效果啊引用 select * from (select a.*,row_number()over(order by uuid)rn from tablename a) where rn>=beginnum and rn <=endnum order by rn 说实话,没看懂 不过我查了下 rownum的解释,这是个伪列,标明当前记录是查询到的第几条, 如果这样的话, select * from table where rumber <= 100 就可以查询出前100条 然后我可以记录下当前第100条的记录的中的ID,以后每一页,只要 select * from table where rumber <= 100 and ID>LastID 这样就可以满足我的需求了 这样的话 ,我实在没有看出嵌套select 有什么作用 如果你愿意每翻一
相关问答:
POS 机数据库是 .DBF类型,要提取数据定时自动插到服务器的ORACLE表中 两者皆不懂 现我已将.DBF数据库转到了MSSQL中 想再从MSSQL转到ORACLE 请教各位一下SQL2000怎样转到ORACLE 9i 应该有工具的 ......
两个表 表A UserID,Info1,Info2,及其他几个字段 表B UserID,Info1,Info2 表A里面的数据,表B里面不一定存在 如何输出这种结果 列 UserID,表A Info1,表A Info2,表B Info1,表B ......
2005后,MSSQL增加了新特性。 今天稍带了几眼,如数据库触发器,架构,数据库触发器,服务器触发器等。很多是新的内容,有些是概念发生了一些变化。 有些SQL得到了增强。 如from后可以跟采样语句,交叉表, ......
asp+mssql 该如何返回如下信息呢 比如一个表里面的数据 date info 2009-1-1 13:00:00 12345 2009-1-1 13:00:01 12345 2009-1-1 13:00:02 12345 ......
如题,查询语句参数应该怎么写啊? 给参数赋值 怎么弄啊? with Query do begin tempParam=parameters.addparameter; tempParam.name='@begindate'; tempParam.Da ......