我有一张公司表和另一位雇员,以及他们加入公司的日期。我能够获得每个公司as shown here的5名最新雇员。现在,我只想显示公司A的排名<= 3,公司B的排名<= 8和公司C的数量不受限制。3、8和-1作为“最大”列存储在公司表中。在这种情况下,如何动态选择最大值?
答案 0 :(得分:0)
您基本上想要:
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