我有一个原始的订单记录表。如何获得输出,其中我的结果为我提供了相同订单号的第一个航段的起点和最后一个航段的目的地?
ORDER_NUMBER | LEG_NUMBER | 原产地 | 目的地
---|---|---|
ORD_200 | 1 | 犹他州加利福尼亚州|
ORD_200 | 2 | 加利福尼亚州纽约州 |
ORD_200 | 3 | 纽约宾夕法尼亚州 |
您可以使用窗口函数和distinct
select distinct ORDER_NUMBER
, first_value(ORIGIN) over(partition by ORDER_NUMBER order by LEG_NUMBER ) ORIGIN
, first_value(DESTINATION) over(partition by ORDER_NUMBER order by LEG_NUMBER desc) DESTINATION
from tbl