选择每件产品比率最高和价格最低的供应商
Selecting the vendor with highest Ratio and lowest price per product
从我的订单中 table 我正在尝试为每个产品获取具有最高比率订单和最低价格的供应商。
select v.[Vendor_pk], p.[Product_pk],o.[UnitPrice], o.[RatioOrder], o.[TotalPrice]
from [DWH].[ORDERSfact] o
inner join [DWH].[VENDORdim] v
on o.[Vendor_pk]=v.[Vendor_pk]
inner join [DWH].[PRODUCTdim] p
on o.[Product_pk]= p.[Product_pk]
order by 2, 4 desc, 3
我怎么能在这里做到这一点?
I'm trying to get per product the vendor with the highest Ratio order and lowest price.
使用row_number()
:
select vp.*
from (select v.[Vendor_pk], p.[Product_pk],o.[UnitPrice], o.[RatioOrder], o.[TotalPrice],
row_number() over (partition by product_pk order by ratioorder desc, price asc) sa seqnum
from [DWH].[ORDERSfact] o join
[DWH].[VENDORdim] v
on o.[Vendor_pk] = v.[Vendor_pk] join
[DWH].[PRODUCTdim] p
on o.[Product_pk] = p.[Product_pk]
) vp
where seqnum = 1;
从我的订单中 table 我正在尝试为每个产品获取具有最高比率订单和最低价格的供应商。
select v.[Vendor_pk], p.[Product_pk],o.[UnitPrice], o.[RatioOrder], o.[TotalPrice]
from [DWH].[ORDERSfact] o
inner join [DWH].[VENDORdim] v
on o.[Vendor_pk]=v.[Vendor_pk]
inner join [DWH].[PRODUCTdim] p
on o.[Product_pk]= p.[Product_pk]
order by 2, 4 desc, 3
我怎么能在这里做到这一点?
I'm trying to get per product the vendor with the highest Ratio order and lowest price.
使用row_number()
:
select vp.*
from (select v.[Vendor_pk], p.[Product_pk],o.[UnitPrice], o.[RatioOrder], o.[TotalPrice],
row_number() over (partition by product_pk order by ratioorder desc, price asc) sa seqnum
from [DWH].[ORDERSfact] o join
[DWH].[VENDORdim] v
on o.[Vendor_pk] = v.[Vendor_pk] join
[DWH].[PRODUCTdim] p
on o.[Product_pk] = p.[Product_pk]
) vp
where seqnum = 1;