国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

關于 SELECT N 問題

2024-07-21 02:38:16
字體:
來源:轉載
供稿:網友

  這里描述的 SELECT N 包括這樣幾種情況:
  1. 選取TOP N行記錄
  2. 選取N1-N2行記錄
  3. 選取FOOT N行記錄
  當然需要考慮是否有ORDER BY子句的情況, 下面試以系統視圖CAT為例分別說明.
  注: A. 為沒有ORDER BY的情況
  B. 有ORDER BY的情況
  
  1. 選取 TOP N 行記錄
  A. SELECT * FROM CAT WHERE ROWNUM<=N
  B. SELECT * FROM
  ( SELECT * FROM CAT ORDER BY TABLE_TYPE )
  WHERE ROWNUM<=N
  
  2. 選取N1-N2行記錄
  A. SELECT TABLE_NAME,TABLE_TYPE FROM
  ( SELECT ROWNUM ROWSEQ,TABLE_NAME,TABLE_TYPE FROM CAT )
  WHERE ROWSEQ BETWEEN N1 AND N2;
  或:
  SELECT * FROM CAT WHERE ROWNUM<=N2
  MINUS
  SELECT * FROM CAT WHERE ROWNUM  B. SELECT TABLE_NAME,TABLE_TYPE FROM
  ( SELECT ROWNUM ROWSEQ,X.* FROM (SELECT * FROM CAT ORDER BY TABLE_TYPE) X)
  WHERE ROWSEQ BETWEEN N1+1 AND N2;
  
  3. 選取FOOT N行記錄
  這里是說明不知道記錄集的記錄個數的情況, 假如已知, 用上面2的方法即可
  A. SELECT TABLE_NAME,TABLE_TYPE FROM
  ( SELECT ROWNUM ROWSEQ,TABLE_NAME,TABLE_TYPE FROM CAT )
  WHERE ROWSEQ > ( SELECT COUNT(*)-N FROM CAT )
  B. SELECT TABLE_NAME,TABLE_TYPE FROM
  ( SELECT ROWNUM ROWSEQ,TABLE_NAME,TABLE_TYPE FROM CAT ORDER BY TABLE_TYPE)
  WHERE ROWSEQ > ( SELECT COUNT(*)-N FROM CAT )
  或
  SELECT * FROM
  ( SELECT TABLE_NAME,TABLE_TYPE FROM CAT ORDER BY TABLE_TYPE DESC)
  WHERE ROWNUM<=N
  
  以上在Oracle8.1.5 for Windows2000PRo 上測試通過

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 襄樊市| 普安县| 甘洛县| 台中县| 五家渠市| 江城| 信丰县| 汉源县| 察隅县| 镇赉县| 延寿县| 天镇县| 科尔| 宜宾市| 永州市| 德清县| 广河县| 马山县| 喀喇沁旗| 禹城市| 枣强县| 广汉市| 揭西县| 牟定县| 乐陵市| 敦煌市| 鹿泉市| 武清区| 太谷县| 宁河县| 洪江市| 彰化市| 都昌县| 麟游县| 沾益县| 达拉特旗| 富顺县| 巩留县| 英吉沙县| 沛县| 黎城县|