набор данных взят из: Документация ранга / раздела Тима Холла по Oracle / Base Первоначальным заданием было ранжирование окладов в отделе.Столбец MYRANK является синтаксическим и представлен как
RANK() OVER (PARTITION BY deptno ORDER BY sal) AS myrank
Но теперь я хочу отсортировать по самой высокой зарплате, за которой следуют все записи в одном отделе.Затем снова последовала вторая по величине зарплата со всеми записями в том же отделе.Порядок dept является своего рода совпадением, он совпадает с порядком наивысшей зарплаты в каждом отделении.
Я думаю, что могу решить это, когда rank () заменяется на max (), например:
MAX() OVER (PARTITION BY DEPTNO ORDER BY SAL) AS MAX
и чем order by MAX, DEPTNO
, но это не с: invalid number of arguments
EMPNO DEPTNO SAL MYRANK
---------- ---------- ---------- ----------
7839 10 5000 3
7782 10 2450 2
7934 10 1300 1
7788 20 3000 4
7902 20 3000 4
7566 20 2975 3
7876 20 1100 2
7369 20 800 1
7698 30 2850 6
7499 30 1600 5
7844 30 1500 4
7654 30 1250 2
7521 30 1250 2
7900 30 950 1