分页显示问题的解决方法(jsp,sqlserver,mysql,oracle)__教程 |
|
日期:2007-5-20 0:37:47 人气:57 [大 中 小] |
|
|
|
} 这种方法是最普遍使用的,对于少量数据用这个方法是可以接受的。但是,如果table中的数据有几万几十万行呢?全部放入结果集返回?这时,这个方法就不行了。 方法二: 使用数据库控制,返回当前页需要显示的数据。 a.使用mysql控制: select * from user order by Host limit m, n 结果返回的是第m+1行到第n行的数据集。 比如 select * from user order by Host limit 1, 5 返回的是第2行到第5行的数据集 b.使用sqlserver SELECT * FROM (SELECT TOP m * FROM (SELECT TOP n * FROM Customers) A ORDER BY CustomerID DESC) B ORDER BY CustomerID 获得的结果集数据为第n-m+1行到第n行。 对整个过程的解释: 首先按照升序得到前n行的结果集A,然后按照降序从A中得到后m行的结果集B,最后按照升序对B进行重新排序,返回结果集。 其中CustomerID为主键 比如: SELECT * FROM (SELECT TOP 5 * FROM (SELECT TOP 10 * FROM Customers) A ORDER BY CustomerID DESC) B ORDER BY CustomerID 的意思就是返回包含第6行到第10行的数据结果集。 c.使用Oracle: select * from (select rownum r ,* from test) tt where tt.r > 50 and tt.r <= 100; |
|
出处:本站原创 作者:佚名 |
|
|