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

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

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

    隨筆-94  評論-56  文章-3  trackbacks-0

    Oracle中聚合函數RANK和DENSE_RANK的使用.

    期末考試成績表(T_QMKSCJ)
    年度 班級號 科目號 學生學號 成績
    2000 001 0001 00001001 88
    2000 001 0001 00001002 99
    2000 001 0001 00001003 89
    2000 001 0002 00001001 87
    2000 001 0002 00001002 60
    2000 001 0002 00001003 70
    2000 002 0001 00002001 88
    2000 002 0001 00002002 99
    2000 002 0001 00002003 89
    2000 002 0002 00002001 87
    2000 002 0002 00002002 60
    2000 002 0002 00002003 70
                           
    2001 001 0001 01001001 88
    2001 001 0001 01001002 99
    2001 001 0001 01001003 89
    2001 001 0002 01001001 87
    2001 001 0002 01001002 60
    2001 001 0002 01001003 70
    2001 002 0001 01002001 88
    2001 002 0001 01002002 99
    2001 002 0001 01002003 89
    2001 002 0002 01002001 87
    2001 002 0002 01002002 60
    2001 002 0002 01002003 70
    2001 003 0003 01003001 87
    2001 003 0003 01003002 60
    2001 003 0003 01003003 70

    1)選出各年度各班級各科目第一名的學生的信息(年度,班級號,科目號,成績,學號)

    select T.年度, T.班級號, T.科目號, T.成績,T.學生學號,
           dense_rank() over (partition by T.年度, T.班級號, T.科目號 order by T.成績 desc) T.排名
    from   T_QMKSCJ T
    where  T.排名 = '1'


    2)選出各年度各班級各科目第一名的學生的信息(年度,班級名,科目名,成績,學號,學生姓名)

    select T.年度, T.班級名, T.科目名, T.成績,T.學生學號,T.學生姓名,
           dense_rank() over (partition by T.年度, T.班級號, T.科目號 order by T.成績 desc) T.排名
    from  
      (select
           A.年度, A.班級號, A.科目號, A.成績,A.學生學號,B.班級名, C.學生姓名, D.科目名
       from
           T_QMKSCJ A,
           T_班級 B,
           T_學生 C,
           T_科目 D
       where  A.班級號 = B.班級號
         and  A.學生學號 = C.學生學號
         and  A.科目號 = D.科目號
      ) T
    where T.排名 = '1'


     
    3)某年度某班級的某學生的某門科目的考試成績在其班級排第幾?

    年度 班級號 科目號 學生學號 成績
    2001 002 0001 01002003 89

    SELECT    
          RANK(2001,002,0001,89) WITHIN GROUP    
          (ORDER BY T.年度, T.班級號, T.科目號, T.成績 DESC) T.排名    
    FROM T_QMKSCJ T

    注意:
    Rank()里的參數必須為常數,或常值表達式,里面參數的個數,類型也要和order by后字段的類型相對應.

    posted on 2007-11-29 12:22 小言身寸 閱讀(782) 評論(1)  編輯  收藏 所屬分類: 數據庫/SQL語言

    評論:
    # re: Oracle SQL 中 RANK & DENSE_RANK 的應用 2013-07-06 07:37 | 陳怡冉
    號  回復  更多評論
      
    主站蜘蛛池模板: 青青青视频免费观看| 亚洲精品无码永久在线观看男男 | 99精品免费观看| 一二三四影视在线看片免费 | 一个人免费观看视频在线中文 | 亚洲中文字幕无码久久2020| 在线播放免费人成视频网站| 亚洲成人免费网站| 亚洲福利中文字幕在线网址| 亚洲视频网站在线观看| 一级毛片在线播放免费| 久久夜色精品国产亚洲av| 亚洲欧洲日产国产最新| 国产免费久久精品丫丫| 日本特黄a级高清免费大片| 亚洲AV永久无码精品水牛影视| 美女视频黄免费亚洲| 成人免费区一区二区三区| 国产成人免费手机在线观看视频| 久久精品国产亚洲精品2020| 在线观看亚洲视频| **实干一级毛片aa免费| 亚洲国产日韩在线成人蜜芽| 少妇性饥渴无码A区免费| 久久精品国产亚洲AV无码娇色| 18成禁人视频免费网站| 亚洲熟女乱色一区二区三区| 国产精品无码素人福利免费 | 全免费a级毛片免费看| 亚洲成人高清在线| 东方aⅴ免费观看久久av| 亚洲精品第五页中文字幕| 本免费AV无码专区一区| 免费亚洲视频在线观看| 在线综合亚洲欧洲综合网站| 国产国产人免费人成免费视频 | 四虎免费在线观看| 亚洲AV无码国产精品色| 亚洲高清免费在线观看| 国产亚洲一卡2卡3卡4卡新区 | 国产成人精品免费视频大全麻豆 |