[英]how to use a column value in postgresql
order_item_id order_status weight
158871745 "delivered" 0.3
158032756 "delivered" 0.3
158871745 "return" 0.5
我想找出相同order_item_id的重量之間的差異
訂單狀態
我想要輸出像
order_item_id order_status weight error
158871745 "return" 0.5 0.2
select t1.weight-t2.weight from table as 't1' join table as 't2' on t1.order_item_id=t2.order_item_id where t1.order_status!=t2.order_status;
其中table
是table
的實際名稱。
一種方法使用窗口函數:
select t.*,
(case when min(order_status) over (partition by order_item_id) <>
max(order_status) over (partition by order_item_id)
then max(weight) over (partition by order_item_id) -
min(weight) over (partition by order_item_id)
end) as weightdiff
from table t;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.