目前我有这个视图,但我想更改它,使最近的员工"Stritt"获得他最后一次的所有销售原因。
cal_date id sales emp
2021-01-04 24 0.85 Krebs
2021-01-29 24 11.4 Krebs
2021-01-31 24 -5.7 Timo
2021-02-01 24 0.85 Timo
2021-02-26 24 1.00 Stritt
2021-01-30 33 5.33 Alex
2021-03-10 33 3.45 Alex
2021-04-20 33 1.20 Dom
它应该是这样的:
cal_date id sales emp
2021-01-04 24 0.85 Stritt
2021-01-29 24 11.4 Stritt
2021-01-31 24 -5.7 Stritt
2021-02-01 24 0.85 Stritt
2021-02-26 24 1.00 Stritt
2021-01-30 33 5.33 Dom
2021-03-10 33 3.45 Dom
2021-04-20 33 1.20 Dom
您可以使用Window函数来查找分区(id
(中的最后一个值
SELECT
cal_date,
id,
sales,
FIRST_VALUE(emp)
OVER (
PARTITION BY id
ORDER BY cal_date DESC,
emp DESC
)
AS emp
FROM
yourTable
如果多个emp具有最近日期的记录,则会选择最高的emp值。