dede问题:我的程序都是用织梦列表页都是用sql语句调用的,但现在问题就是没法分页,求高手帮助啊

有办法分页吗
{dede:sql sql="select dede_archives.id,dede_archives.litpic,dede_archives.title,dede_archives.description,dede_addonarticle.gstime from dede_archives LEFT JOIN dede_addonarticle on dede_archives.id = dede_addonarticle.aid where dede_archives.typeid=3"}
<li></li>
{/dede:sql}

你的查询太长,改成分页查询贴下来要一大堆,不好看;这样,我把分页查询结果写出来,你自己套进去:
--假设每页显示20行,mssql写法
declare @page int
select col1,col2...... (select top 20 col1,col2...... from (select top 20*@page col1,col2...... from tb order by id) as t order by id desc) as tt order by id
--这里@page 是数据库里的变量,你可以用你开发软件的变量代替,只要注意字符串的拼接就行追问

本人新手,没看太懂,能说明白点吗

追答

select col1,col2...... (select top 20 col1,col2...... from (select top 20*@page col1,col2...... from tb order by id) as t order by id desc) as tt order by id
这句给你解释一下:把你需要的数据先用升序查询出,并取前 页码*20(即每页行数)条记录,接着把前页码*20条记录降序排列后,取前20条记录,这样你就取到该页的20条记录了,但是这20条记录是以降序排列的,不符合要求,所以最后再将这20条记录进行升序排列。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-21
额,不懂你为什么一定要用这个,不能用别的吗
相似回答
大家正在搜