Запрос на отображение имен сотрудников, отдела нет и самая высокая зарплата в отделе не мудрый - PullRequest
0 голосов
/ 28 октября 2019

Мне нужен запрос для отображения имен сотрудников, отделов нет и самая высокая зарплата в отделе нет смысла

Пример

ENAME   SAL    dept no
KING    5000    10
FORD    3000    20
SCOTT   3000    20
BLAKE   2850    30

Ответы [ 2 ]

1 голос
/ 28 октября 2019

Как сказал комментатор, полезно, когда вы предоставляете более подробную информацию о том, что вы пробовали.

Тем не менее, я думаю, что вы ищете что-то вроде этого:

;with cte as (
    select ename, sal, [dept no]
        , row_number() over (partition by [dept no] order by sal desc, ename) rn
    from your_table
)
select *
from cte
where rn = 1

Обратите внимание, что ваши данные в качестве примера показывают ту же SAL 3000 для [dept no] 20. До пытаясь разорвать связи, я добавил ename в оператор order by.

0 голосов
/ 28 октября 2019

Этот запрос отображается правильно

select ENAME, SAL, [deptno]
from (
    select *
        , DENSE_RANK() over(partition by [deptno] order by sal desc) as Highest_sal
    from Employee
) a
where a.Highest_sal = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...