这里会显示出您选择的修订版和当前版本之间的差别。
| tech-notes:oracle-rownum-page 2007/12/28 11:48 | tech-notes:oracle-rownum-page 2007/12/28 11:56 当前版本 | ||
|---|---|---|---|
| 行 62: | 行 62: | ||
| 对比这两种写法,绝大多数的情况下,第一个查询的效率比第二个高得多。 | 对比这两种写法,绝大多数的情况下,第一个查询的效率比第二个高得多。 | ||
| + | </code> | ||
| + | |||
| + | |||
| + | http://www.javaworld.com.tw/jute/post/view?bid=21&id=52022&sty=1&tpg=1&age=-1 | ||
| + | <code> | ||
| + | SELECT * FROM | ||
| + | (SELECT A.*, rownum r | ||
| + | FROM | ||
| + | -- 這裡的SQL可以改成你真正要執行的SQL | ||
| + | (SELECT * FROM Articles | ||
| + | ORDER BY PubTime DESC | ||
| + | ) A | ||
| + | -- | ||
| + | -- 用上面的SQL得回來的集合,使用rownum去比對,這樣rownum就會從這 | ||
| + | 個集合的第一筆資料開始往下計算,所以這邊是抓取前100筆 | ||
| + | WHERE rownum <= 100 | ||
| + | ) B | ||
| + | -- B集合總共有A集合和r(rownum)的資料,這裡是抓取大於第90筆的 | ||
| + | WHERE r > 90; | ||
| </code> | </code> | ||