最近在做维护,由于数据量比较大,不能将数据一次性查询出来,只能按照分页的思想来分次处理,但由于数据比较复杂,不知道怎么样处理更合理,请大家帮忙看看,非常感谢。--表结构如下
DETAIL_ID  POINT_ID  create_time 
001        3245      20080802000000
002        3241      20080808000000
003        3241      20080802000000
004        3245      20080805000000
005        3241      20080802000000
006        3245      20080803000000
说明:同一POINT_ID有多条流水记录,需要按POINT_ID分组,按DETAIL_ID排序,每次我只取1000个POINT_ID,需要保证同一个POINT_ID下的明细记录不被分隔.有没有更好的方法?select a.DETAIL_ID,a.POINT_ID,a.create_time 
from BE_POINT_DETAIL where a.create_time >= '20080801000000' and a.create_time < '20081101000000'  and a.POINT_ID in (
select * from (select distinct(a.point_id) point_id from BE_POINT_DETAIL a,BE_PURSE b where a.create_time >= '20080801000000' and a.create_time < '20081101000000' ) 
where rownum >= 1 and rownum < 1000) 
order by a.detail_id;