看似简单的 MySQL 问题,但我以前从未这样做过..
我有两个表,项目和价格,具有一对多的关系。
Items Table
id, name
Prices Table
id, item_id, price
在哪里
prices.item_id = items.id
到目前为止我所拥有的:
SELECT items.id, items.name, MIN(prices.price)
FROM items
LEFT JOIN prices ON items.id = prices.item_id
GROUP BY items.id
我如何也返回该最低价格的相应价格.id?谢谢!
最佳答案
如果有多个最低价格的价格记录,这将返回 Items 中记录的多个记录:
select items.id, items.name, prices.price, prices.id
from items
left join prices on (
items.id = prices.item_id
and prices.price = (
select min(price)
from prices
where item_id = items.id
)
);
关于MySQL Left Join + Min,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588142/