我在1个表中有一个商品的报价和需求清单,我需要找到按商品分组的最高价要求和最低价报价
要以最高价格获得所有请求,并以最低价格获得所有报价,这不是一个大问题,但是我需要为每个请求都以最低价格获得报价。
我的桌子看起来像
ItemName | Type | ItemPrice
-----------------------
item1 | offer | 100
item1 | offer | 80
item1 | request | 120
item2 | offer | 50
item2 | request | 30
item2 | request | 60
结果我需要
ItemName | OfferMinPrice | RequestMaxPrice
-----------------------
item1 | 80 | 120
item2 | 50 | 60
答案 0 :(得分:2)
您可以只使用条件聚合:
select itemname,
min(case when type = 'offer' then itemprice end) as min_offerprice,
max(case when type = 'request' then itemprice end) as max_requestprice,
from t
group by itemname;