Как выбрать динамическое значение ранга? - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть таблица компаний и еще одного сотрудника и даты, когда они присоединились к компании.Я могу получить 5 самых последних заказов для каждой компании , как показано здесь .Теперь я хотел бы показать только ранг <= 3 для компании A, ранг <= 8 для компании B и неограниченное число для компании C. 3, 8 и -1 сохраняются как столбец «max» в таблице компании,Как мне динамически выбрать максимум в этом случае? </p>

1 Ответ

0 голосов
/ 28 апреля 2019

Вы в основном хотите:

SELECT *  -- choose the columns you want here
FROM (SELECT e.*, c.max,
             row_number() over (partition by company order by joined desc) as rank
      FROM employees e JOIN
           companies c
           on e.company = c.pk
     ) e
WHERE rank < max or max = -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...