我在表中有6442670条记录,我正在使用它们 jdbctemplate 一次使用行号1000000。 以下是查询
select *
from (select rowNum rn
, e.*
from table_name e) table_name
where rn >= ? and rn <= ?
我正在进行八次迭代
- 0至1000000
- 1000001至2000001
- 2000002至3000002
- 3000003至4000003
- 4000004至5000004
- 5000005至6000005
- 6000006至7000006
- 6442669至7442669
经过八次迭代后,我在列表中只看到6442668条记录,其中大部分是重复的。 可以使用rowNum获取记录多次获取相同的记录吗?
答案 0 :(得分:1)
尝试使用row_number() over
个唯一列而不是ROWNUM
。
SELECT *
FROM (SELECT row_number() OVER ( ORDER BY unique_column_s ) rn, e.*
FROM table_name e ) table_name
WHERE rn >= ? and rn <= ?