如题,为了彻底解决分页问题。没办法只好叨扰大家啦~已经知道的:
access 、sqlserver是select top N * 和order by 来解决mysql 是:select * from tablename limit m,(n-m) 其他的我就不知道了,请各位前辈赐教~db2,informix,oralce,sybase等等数据库越多越好啊~~一定要是高效的sql语句哦~,比如oracle的select rownum,* from tablename 这句就不行,如果有十万条记录,那么还得每条记录都给她分配一个rownum? 疯了!!~也不要用not in关键字.本来想放200分先,结果我放不了那么多,咳,反正大家帮忙拉,不够另开帖给分~~~
access 、sqlserver是select top N * 和order by 来解决mysql 是:select * from tablename limit m,(n-m) 其他的我就不知道了,请各位前辈赐教~db2,informix,oralce,sybase等等数据库越多越好啊~~一定要是高效的sql语句哦~,比如oracle的select rownum,* from tablename 这句就不行,如果有十万条记录,那么还得每条记录都给她分配一个rownum? 疯了!!~也不要用not in关键字.本来想放200分先,结果我放不了那么多,咳,反正大家帮忙拉,不够另开帖给分~~~
解决方案 »
- 一个控制ifram页上元素问题
- 水晶报表和jsp
- 在myeclipse或eclipse中,怎么直接把新建的一个项目保存在tomcat/webaps下啊?
- 求大侠解决一个jsp + javabean的问题
- jsp环境配置问题
- 初来乍到,请大家给我些建议,有关java方面的各种优秀书籍来这有分(200分)
- jsp参数中文问题
- (急急-在线等)在一个页面中能否有多个submit按钮???
- mysql 数据存取问题。
- srping Security使用redis管理session,一直无法获取session值
- javascript的错误就是让人难以捉摸 attachEvent的怪现象
- request.getRequestDispatcher("/index.jsp").forward(request,response);与普通的forward有何区别?
里面的setFirstResult()和setMaxResult() 然后输入sql语句就能看到如何写了!
抽取从N行到M行的记录,如从20行到30行的记录
select * from (select rownum id,t.* from table where ……
and rownum <= 30) where id > 20;
这句查询可能有点问题,我觉得应该是
select top n-m * from table_name where id >(select max(id) from (select top m from table_name order by id ) as t) order by id
SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. INFORMIX
SELECT FIRST N * FROM TABLE1 where 1=1 3. DB2
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N
或者
SELECT COLUMN FROM TABLE where 1=1 FETCH FIRST N ROWS ONLY 4. SQL SERVER
SELECT TOP N * FROM TABLE1 where 1=1
or
SET ROWCOUNT N SELECT * FROM TABLE1 where 1=1 SET ROWCOUNT N15. SYBASE
SET ROWCOUNT N SELECT * FROM TABLE1 where 1=1 SET ROWCOUNT N16. MYSQL
SELECT * FROM TABLE1 where 1=1 LIMIT N 7. FOXPRO
SELECT * TOP N FROM TABLE ORDER BY COLUMN8. ACCESS
SELECT TOP N * FROM TABLE1 where 1=1
返回10-20的
select * from (select rownum r,a.* from yourtable a where rownum <= 20) where r >= 10
我认为不会oracle肯定不会把所有的rownum都算出来,再算外面的查询
mysql, postgres的limit用起来很方便.SQL server的top *...not in top...真的是垃圾,用起来会死人.不过要是从第1000000000到1000000001条的数据想要效率,咋样都是快不了的。只能从自己建表上下手
我可以倒着找,是不是?
比如有20000000,你要取中间的一部分where 1=1是为了方便后面再加入新条件时判断是否要加上and ...
返回10-20的
select * from (select rownum r,a.* from yourtable a where rownum <= 20) where r >= 10