假設TABLE名為t,PRIMARY KEY為id,則:
1-5000000
SELECT t.*
FROM t , (SELECT id, ROW_NUMBER() OVER( ORDER BY id ) AS num FROM t) as t1
WHERE t.id = t1.id AND t1.num <50000001
50000001 - 100000000
SELECT t.*
FROM t , (SELECT id, ROW_NUMBER() OVER( ORDER BY id ) AS num FROM t) as t1
WHERE t.id = t1.id AND t1.num BETWEEN 50000001 AND 100000000
以此類推...
到於ORACLE,由於偽列rownum總是從1開始計數,所以當rownum 取>1的值時無效,如select * from xxx where rownum = 2,得不到結果。
可使用子查詢的方式:select c.* from (select *, rownum as no from xxx) c where c.no = 2來得到結果。