随笔 - 3  文章 - 0 评论 - 71 trackbacks - 11

最新评论

共4页: 1 2 3 4 下一页 
我用了这个类,但是出了问题: 我多字段排序时传参:SELECT_FLDSORT =”CreateDate desc,NeedFinishMinutes“的时候出了问题,只有第一页时候正常,暂时还没找到问题~
说句实话你写的代码就是垃圾
相比较来说 我这个速度是最快的。并且分页最好。。。缓存利用率最高
select * from ( select top 50 * from table ) as a left join ( select top 40 * from table ) as b on a.id = b.id where b.id is null http://www.cnblogs.com/jitian/archive/2011/03/22/1991961.html
你这个哪里能分页,误人子弟。 调用示例:[Northwind]数据库,测试最简单的单表分页,主键是id增长的哦,分第三页,每页10 declare @a1 int,@a2 int exec proc_ListPageInt 'Products','*',10,3,@a1 output,@a2 output,'ProductID',1,'','ProductID',0 ,生成这样的sql select top 10 * from Products where ProductID <(select min(ProductID) from (select top 20 ProductID from Products order by ProductID DESC ) AS TBMinID) order by ProductID DESC --------------------- 问题是明显的,你用min函数,top 20,那前面怎么会用<号呢
老兄,我可以负责任的告诉你这个top max是有问题的。。。 你仔细看看啊,你取的是select max(Id)去取最大的ID号是有问题的啊。。你应该是取top 1 id 才对,要知道,后面是有排序的,max不管你怎么排序,取到的却是最大的ID号,这是有问题的!!!
楼主,我Email:now_li@163.com QQ:164699260,希望得到你的帮助,谢谢
为什么第一页显示10条,下一下就显示9条,再下一页就显示8条呢?
1.第一页应该单独处理
2.sqlserver2005里面已经有更好的方法了
--引用--------------------------------------------------
qqqq: 根本不支多字段排序的!!无耐!!!!!!!!!!!!!!
--------------------------------------------------------

不好意思!!是可以支持的!!
根本不支多字段排序的!!无耐!!!!!!!!!!!!!!
错了
加上非主键排序
id 就乱了
凭 id> 或 id<
就错了

这种只是适合 id(主键) 排序
晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死晕死

网上大量流传你这个代码,原以为没有问题的,直接拿来就改了用了,改后测试才发觉,数据相差十万八千里。

我以为我改错了,把你的源码原封不动来测试,还是相差十万八千里。

是我的错,不应该随便拿来就用。
楼主,你这个存储过程取数据好像得不到正确结果,有些干脆就不出来,我是直接在查询分析器里执行的,我觉得 top max 这个原理好像不能达到分页目的吧?能不能简单讲解下?
楼主,你这个存储过程取数据好像得不到正确结果,有些干脆就不出来,我是直接在查询分析器里执行的,我觉得 top max 这个原理好像不能达到分页目的吧?能不能简单讲解下?
为什么多表查询时到第二页就出错!!帮忙解决一下!!
楼主可以给我个实例吗?急着用的!!
楼主,找到个bug,如果是多字段排序你这个分页结果出来是错的...
如:order by bigcatid desc,smallcatid desc,id desc
如果真实数据排序为:
bigcatid smallcatid id
5 5 5
5 5 4
4 4 6
一页显示一条数据,哪么在第三页时的SQL句为:
SELECT TOP 1 * FROM table WHERE ID <
(SELECT MIN(ID) FROM (
SELECT TOP 2 ID FROM table ORDER BY bigcatid desc,smallcatid desc,ID DESC) AS TBMinID
) ORDER BY bigcatid desc,smallcatid desc,ID DESC
--
上面的:
SELECT TOP 2 ID FROM table ORDER BY bigcatid desc,smallcatid desc,ID DESC
取得数据ID是:5,4这两条
哪么:(SELECT MIN(ID) FROM (
SELECT TOP 2 ID FROM table ORDER BY bigcatid desc,smallcatid desc,ID DESC) AS TBMinID
返回:4
哪么:SELECT TOP 1 * FROM table WHERE ID <4 order by...
哪么第三页的结果当然就不会是ID为6的哪条咯~~~
口黑口黑~

共4页: 1 2 3 4 下一页