Oracle分析函数ntile

    有这么一个需求,将课程的成绩分成四个等级,为学生打A、B、C、D的绩效。

drop table course purge;
create table course
(
  id number,
  grade number
);
insert into course values(1,50);
insert into course values(2,55);
insert into course values(3,60);
insert into course values(4,65);
insert into course values(5,70);
insert into course values(6,75);
insert into course values(7,80);
insert into course values(8,85);
insert into course values(9,90);
insert into course values(10,95);
commit;


SQL> select id,grade,ntile(4) over(order by grade desc) til from course;
        ID      GRADE        TIL
---------- ---------- ----------
        10         95          1
         9         90          1
         8         85          1
         7         80          2
         6         75          2
         5         70          2
         4         65          3
         3         60          3
         2         55          4
         1         50          4
已选择10行。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。