Mysql 一次选择中不同条件下的最小值和最大值
我在一个表中列出了商品的报价和请求,我需要找到按商品分组的最高报价请求和最低报价 以最高价格获取所有请求和以最低价格获取所有报价没有大问题,但我需要为每个请求获取报价最低价格 我的桌子看起来像Mysql 一次选择中不同条件下的最小值和最大值,mysql,sql,Mysql,Sql,我在一个表中列出了商品的报价和请求,我需要找到按商品分组的最高报价请求和最低报价 以最高价格获取所有请求和以最低价格获取所有报价没有大问题,但我需要为每个请求获取报价最低价格 我的桌子看起来像 ItemName | Type | ItemPrice ----------------------- item1 | offer | 100 item1 | offer | 80 item1 | request | 120 item2 | offer | 50
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;