国产探花免费观看_亚洲丰满少妇自慰呻吟_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 上測試通過

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 达孜县| 江北区| 盐亭县| 旅游| 祁东县| 华蓥市| 易门县| 德阳市| 岗巴县| 成都市| 吉水县| 中西区| 叙永县| 阿瓦提县| 富蕴县| 垦利县| 府谷县| 东乌珠穆沁旗| 类乌齐县| 高邑县| 墨脱县| 尉氏县| 军事| 博湖县| 宁河县| 富民县| 沂南县| 和顺县| 莎车县| 汤阴县| 武川县| 旬邑县| 南康市| 石河子市| 吉林省| 霍邱县| 扬中市| 闽清县| 霍州市| 喜德县| 景德镇市|