因为数据库记录有百万以上
所以想每次查询的时候按需要进行查询
而不是一次查出全部
我现在只想到用select top * from 表 的方式
用jdbc 来对sqlserver 数据库的数据进行分页
但是还不知道怎么实现 我嵌套了三次,order by 排序也倒了三次
结果查出来的数据不准 比如第三页和第四页的数据是一样的现在我给个简单的数据
表里有10 条记录
没页显示3 条
字段有最大值,平均值,最小值
(注意 :没有ID)谁能用select top 帮我解决一下吗?
或者用别的方法也可以
只要不是每点下一页的时候全部查询数据库就可以
所以想每次查询的时候按需要进行查询
而不是一次查出全部
我现在只想到用select top * from 表 的方式
用jdbc 来对sqlserver 数据库的数据进行分页
但是还不知道怎么实现 我嵌套了三次,order by 排序也倒了三次
结果查出来的数据不准 比如第三页和第四页的数据是一样的现在我给个简单的数据
表里有10 条记录
没页显示3 条
字段有最大值,平均值,最小值
(注意 :没有ID)谁能用select top 帮我解决一下吗?
或者用别的方法也可以
只要不是每点下一页的时候全部查询数据库就可以
Select ID From tablename limit 100,1
2sql-server里 select top 3 * from a where id not in
(select top 6 id from a order by id)
order by id
是取按照id排序的7-9条
(
select top 3 * from
(select top 6 * from a order by id) b
order by iddesc
)c order by id
然后在sql要看用的是什么数据库,oracle用top,mysql用limit进行分页
其实最简便的用Hibernate封装好的API
* setFirstResult(),从0开始
* setMaxResults,每页显示多少条数据
cureentpage:当前页数 select * from ( select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage * from user_table ORDER BY id ASC ) as aSysTable ORDER BY id DESC ) as bSysTable ORDER BY id ASC
FROM
Users
WHERE
(ID NOT IN (SELECT TOP (页大小*(页数-1)) ID FROM Users ORDER BY ID DESC))
ORDER BY
ID DESC(带条件查询)SELECT TOP 页大小 *
FROM
Users
WHERE
(ID NOT IN (SELECT TOP (页大小*(页数-1)) ID FROM Users WHERE 条件 ORDER BY ID DESC))
AND 条件 ORDER BY
ID DESC不为自增ID的需要另外考虑PS一个自己的分页:SELECT DISTINCT TOP 页大小 tm_time,tm_count,tm_re FROM t_tight_smoke WHERE (tm_time<(SELECT MIN(tm_time) FROM (SELECT DISTINCT TOP 开始查询的记录条数(即上面的算法) tm_time FROM t_tight_smoke ORDER BY tm_time DESC)AS ttightsmoke))ORDER BY tm_time DESC
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zjx2388/archive/2009/02/24/3932249.aspx