我在一个表中有一个商品的报价和要求清单,我需要找到按商品分组的最高报价和最低报价
获得所有最高价格的请求和最低价格的所有报价都没有大问题,但我需要为每个请求获得最低价格的报价。
我的桌子看起来像

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

最佳答案

您可以只使用条件聚合:

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;

关于mysql - 一键选择不同条件下的最小和最大,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53997790/

10-17 02:28