<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhyiwww
    用平實的筆,記錄編程路上的點點滴滴………
    posts - 536,comments - 394,trackbacks - 0

    如何用 Select 語句查詢 oracle 表的前幾條記錄?

    我想說一點,雖然 select ? * ? from ? table ? where ? rownum< 你要查的記錄條數,能夠取出前幾條記錄,但是你如果要把排序后記錄取前幾條結果就不對,如下 SQL 語句 ?
    ? select ? * ? from ? table ? where ? rownum<50 ? order ? by ?
    字段名 ? desc 取出來的不是按照先排序后取前幾名,而是先取出前幾名再排序,大家有沒有辦法實現先排序再取前幾名呢,我想這樣的語句在實現應用中很有用,比如說要取前多少名這樣的問題的實現就得用這種語句

    ?



    |----------------------------------------------------------------------------------------|
                               版權聲明  版權所有 @zhyiwww
                引用請注明來源 http://www.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2006-05-23 18:02 zhyiwww 閱讀(14528) 評論(15)  編輯  收藏 所屬分類: database

    FeedBack:
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2006-05-24 09:38 | superwar
    select * from (select * from table order by 字段名 desc) where rownum<50   回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2006-05-26 19:21 | zhyiwww
    謝謝您的回復!!
      回復  更多評論
      
    # 在sql中用選擇語句返回在各個區間內的記錄行數????
    2006-11-07 17:33 | 周威
    我用一個事例來說明我的問題吧!比如在一個表中第一列自動編號,第二列為money類型,給定一個區間大小(如5)要返回分布在(0-5),(5-10)……各個區間的行數。
    知道怎么用選擇語句實現嗎?  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2006-11-13 10:29 | zhyiwww
    我看到了你的問題,不過,我現在也沒有解決的辦法.
    我想你可能是在考慮使用此辦法來實現分頁吧.
    現在我也在幫你找一些資料,看一下使用rowset能不能實現,如果我找到解決方案的話,我再給你回復.  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2006-11-25 20:33 | lawuu
    可以解決,網上一籮筐,簡單搜索即可  回復  更多評論
      
    # w
    2007-03-14 16:42 | 22
    aa  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2007-03-29 16:58 | zhangmz
    可是我的oracle是8i的,子查詢里不能用order by
    這可怎么辦?沒有辦法了么?  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2008-04-27 17:29 | kuake
    mysql 4.0以下不能用嵌套查詢,我也在找辦法。  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2008-07-03 15:14 | heh
    "# 在sql中用選擇語句返回在各個區間內的記錄行數????2006-11-07 17:33 | 周威

    我用一個事例來說明我的問題吧!比如在一個表中第一列自動編號,第二列為money類型,給定一個區間大小(如5)要返回分布在(0-5),(5-10)……各個區間的行數。
    知道怎么用選擇語句實現嗎? 回復 更多評論"

    用如下語句可以搞定:
    select count(1) from table t group by round(t.money/5)  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2008-07-03 15:29 | heh
    select round(t.money/5),count(1) from table t group by round(t.money/5) 當然要加round(t.money/5) 剛才那個有問題  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?[未登錄]
    2008-09-22 16:05 | test
    @superwar
    select * from (select * from table order by 字段名 desc) where rownum<50

    這個方法是最好的  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?[未登錄]
    2011-09-28 18:20 | lk
    額,樓主,你說的那個“ select * from table where rownum<50 order by 字段名 desc ,取出來的不是按照先排序后取前幾名,而是先取出前幾名再排序”有誤。它查詢出來的結果與“select * from (select * from table order by 字段名 desc) where rownum<50”一樣。如果要先取出前幾名再排序的話,應該寫成這樣“select*from( select * from table where rownum<50 ) order by 字段名 desc”。希望能對你有用,嘿嘿  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2012-03-09 16:39 | 11
    11111111111111111  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?
    2012-03-09 16:39 | 11
    11111  回復  更多評論
      
    # re: 如何用Select 語句查詢oracle表的前幾條記錄?[未登錄]
    2012-11-19 16:39 | cheney
    @superwar
    這種做法不太好,當表數據量非常大時,你的sql就會執行死掉  回復  更多評論
      
    主站蜘蛛池模板: 四虎永久免费影院在线| 女人18毛片免费观看| 亚洲免费无码在线| 中文永久免费观看网站| 性色午夜视频免费男人的天堂| 99re在线这里只有精品免费| 妞干网免费观看视频| 精品亚洲AV无码一区二区三区| 国产精品亚洲一区二区三区| 精品乱子伦一区二区三区高清免费播放| 中文字幕亚洲免费无线观看日本 | 成人片黄网站色大片免费观看cn| 亚洲国产精品成人网址天堂| 亚洲人成电影亚洲人成9999网| 亚洲六月丁香婷婷综合| 国产特黄一级一片免费| 亚洲中文字幕无码一久久区| 亚洲 日韩 色 图网站| 免费网站看av片| 亚洲 综合 国产 欧洲 丝袜| 在线观看日本亚洲一区| 久久青草91免费观看| 久久亚洲av无码精品浪潮| 亚洲av成人一区二区三区观看在线 | 成人性生免费视频| 亚洲va在线va天堂va888www| 久久久久亚洲精品无码网址色欲| 午夜亚洲国产成人不卡在线| 中国国语毛片免费观看视频| 亚洲精品一区二区三区四区乱码 | 曰批全过程免费视频在线观看无码| 精品久久久久久久免费加勒比| 亚洲AV无码专区电影在线观看| 人人公开免费超级碰碰碰视频| 成人浮力影院免费看| 亚洲Av熟妇高潮30p| 男人的好免费观看在线视频| 亚洲日本中文字幕| 国产精品免费看久久久无码| 午夜亚洲WWW湿好爽| 亚洲国产精品无码中文字|