百度经验
页面数据加载中...
select * from(
select rownum rowno,tt.* from(
select a.* from ... a
where ....
ordery by ...,lrsj
) tt where rownum<=n1
) table_alias where table_alias.rowno>n2
在查询过程中n1,n2,配置20、11,30、21,40、31时,查询出的数据重复
第二种方法:修改排序字段的数据内容。
由于排序字段数据重复,导致排序结果无规则,而抱着先解决问题的态度,我就先修改数据内容,使期排序有效。这里也是有技巧的,比如怎么修改lrsj字段值保证排序有效,而又不用使时间字段变化太多呢?
我的做法是,lrsj=lrsj+rownum/24/60/60,也就是按行号增加1秒。
sql如下:
update ... a
set a.lrsj=(select b.lrsj+rn/24/60/60
from(select a.rowid rid,rownum rn,a.* from ... a) b
where a.rowid=b.rid )