+ -
当前位置:首页 → 问答吧 → 问一个sql分页的奇怪问题

问一个sql分页的奇怪问题

时间:2011-12-16

来源:互联网

(1)[字段3]是一个datetime类型;

(2)一个sql如下:
select top 8 [字段1],substring([字段2],1,128) as [字段2] from v_视图 where ([字段3]< (select min([字段3]) from (select top (8*(第几页数值-1)) [字段3] from v_

视图 order by [字段3] desc) as tb) ) order by [字段3] desc;

(3)出现的问题如下描述:
第几页数值<=32767正常,第几页数值>32767查询出来的8条记录数据都是一样的,不知道为什么?

作者: chaozhou   发布时间: 2011-12-16

视图符合条件的记录有几十万条,是不是数据量太大了,还是什么原因呢?
请知道同志说一下,谢谢了!

作者: chaozhou   发布时间: 2011-12-16

写的有点混乱

作者: juepei123   发布时间: 2011-12-16

一层又一层的

作者: juepei123   发布时间: 2011-12-16

应该不会啊,sql我重新写一下:
select top 8 [字段1],substring([字段2],1,128) as [字段2] from v_视图 where ([字段3]< (select min([字段3]) from (select top (8*(第几页数值-1)) [字段3] from v_视图 order by [字段3] desc) as tb) ) order by [字段3] desc;


其实就是实现一次从视图调出8条记录出来,但是记录都是按照[字段3]就是datetime类型来排序的,或者你们有其它好的算法,请介绍一下。谢谢!

作者: chaozhou   发布时间: 2011-12-16