<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 | 陳怡冉
    號  回復  更多評論
      
    主站蜘蛛池模板: 亚洲国产美女精品久久久久| 两个人看的www免费视频中文| 日本卡1卡2卡三卡免费| 国产亚洲精品久久久久秋霞 | 免费在线观看a级毛片| 亚洲中文字幕无码mv| 亚洲精品成a人在线观看☆| 男女做羞羞的事视频免费观看无遮挡| 亚洲精品视频在线| 亚州免费一级毛片| 亚洲乱码卡一卡二卡三| 国产成人A在线观看视频免费| 亚洲欧美国产国产一区二区三区| 永久免费AV无码网站在线观看 | 亚洲AV无码久久精品狠狠爱浪潮| 久久香蕉国产线看免费| 亚洲午夜电影在线观看| 精品免费久久久久久成人影院| 国产成人精品亚洲| 精品久久久久久亚洲| 巨波霸乳在线永久免费视频| 亚洲色图激情文学| 免费在线观看你懂的| 无码成A毛片免费| 亚洲国产日韩精品| 亚洲国产精品无码久久青草| 中文无码成人免费视频在线观看 | 久久久久久亚洲Av无码精品专口 | 国产乱子精品免费视观看片| 亚洲人成无码网站在线观看| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 99在线视频免费| 亚洲综合无码无在线观看| 亚洲精品456播放| 最近2018中文字幕免费视频 | 亚洲2022国产成人精品无码区| 少妇高潮太爽了在线观看免费| 香蕉视频免费在线| 亚洲黄色在线视频| 亚洲A丁香五香天堂网| 亚洲最大免费视频网|