隨筆 - 37  文章 - 29  trackbacks - 0


          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          以前記在筆記上的一點(diǎn)東西,貼上來,省得以后丟了筆記,忘記了
          Oracle 分頁
          select a.*, rownum r
            from (select * from lg_order o order by o.order_id) a
           where rownum <= 20
             and rownum >= 10

          select *
            from (select a.*, rownum r
                    from (select * from lg_order o order by o.order_id) a
                   where rownum <= 20) b
           where r >= 10

          select *
            from (select rid
                    from (select rownum rn, rid
                            from (select rowid rid from lg_order o order by o.order_id)
                           where rownum <= 20)
                   where rn >= 10) t1,
                 lg_order t2
           where t2.rowid = t1.rid


          第一句是錯(cuò)誤的 由于rownum是一個(gè)總是從1開始的偽列,Oracle 認(rèn)為這種條件不成立,查不到記錄
          執(zhí)行順序從內(nèi)到外,從右到左
          直接取物理地址最快

          之前寫錯(cuò)了,也沒人指出,真是凄涼
          posted on 2008-03-23 16:22 EvanLiu 閱讀(10258) 評(píng)論(7)  編輯  收藏 所屬分類: Java基礎(chǔ)DB

          FeedBack:
          # re: Oracle分頁SQL 2008-03-23 20:46 礦礦
          呵呵
          加油!  回復(fù)  更多評(píng)論
            
          # re: Oracle分頁SQL 2008-03-23 21:02 冬眠的Evan
          竟然有人回復(fù)了,感動(dòng)得眼淚嘩啦啦~~~  回復(fù)  更多評(píng)論
            
          # re: Oracle分頁SQL 2009-02-19 17:53 wangs130
          學(xué)習(xí)了.  回復(fù)  更多評(píng)論
            
          # re: Oracle分頁SQL 2009-04-27 17:05 路人甲
          收下了 正在愁人呢 不錯(cuò) 謝啦  回復(fù)  更多評(píng)論
            
          # re: Oracle分頁SQL 2009-11-16 21:55 aegean
          我覺得你現(xiàn)在的第一條語句沒什么錯(cuò)誤啊
            回復(fù)  更多評(píng)論
            
          # re: Oracle分頁SQL[未登錄] 2009-11-17 15:37 test
          @aegean
          select * from bill_account_book where rownum > 10 這個(gè)是明顯的錯(cuò)誤  回復(fù)  更多評(píng)論
            
          # re: Oracle分頁SQL 2010-09-28 12:15 軟件秀秀
          select * from (
          select *,rownumber num
          from (select *
          from tbl_name
          order col_name
          )
          )
          where num > 10 and num < 20  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 桦甸市| 阿瓦提县| 子洲县| 荥经县| 安义县| 岳阳县| 凤阳县| 五河县| 佛教| 噶尔县| 邵东县| 贵溪市| 高尔夫| 册亨县| 通许县| 柘荣县| 同心县| 岗巴县| 射阳县| 科尔| 那坡县| 历史| 石棉县| 图木舒克市| 密云县| 嘉祥县| 楚雄市| 本溪| 搜索| 永济市| 敦化市| 玉环县| 襄城县| 茂名市| 新泰市| 蓬莱市| 泰兴市| 天祝| 措勤县| 华容县| 宣城市|