如何获得与一列的最小值关联的值和与同一列的最大值关联的数值



我有一个原始的订单记录表。如何获得输出,其中我的结果为我提供了相同订单号的第一个航段的起点和最后一个航段的目的地?

目的地犹他州加利福尼亚州加利福尼亚州纽约
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

最新更新