关于SQL分页语句的问题,请高手帮忙解决,先行谢过!
我写了一个分页语句:
page_record:每页记录数
curpage :当前页数
SELECT TOP page_record * FROM booktab WHERE (ID > (SELECT MAX(id) FROM (SELECT TOP page_record*(curpage-1) id FROM booktab ORDER BY id) AS T)) ORDER BY ID ;
但是当查询第一页记录时,即:
SELECT TOP 8 * FROM booktab WHERE (id > (SELECT MAX(id) FROM (SELECT TOP 0 id FROM booktab ORDER BY id) AS T)) ORDER BY id;
就查不出来数据,因为字查询中从一个空数据中取最大值时,结果为空,即:
SELECT MAX(id) FROM (SELECT TOP 0 id FROM booktab ORDER BY id) AS T;
因此导致最后查询结果为空。在此请教高手:这个SQL语句可以怎么改,或者说有什么更好的算法,实现分页功能;谢谢!