我试图得到每种产品的最小值行。在一个简单的数据库中。我将在下面概述。我研究了很多答案,但不幸的是什么都没用。
我尝试了一些方法,比如self-join,它工作得很好,除了在返回加倍值的相同值上。
SELECT
products.id,
products.name,
prices.price,
prices.price_init
FROM products
LEFT JOIN prices ON prices.product_id = products.id
JOIN(
SELECT products.id, min(prices.price) as min_price FROM products
LEFT JOIN prices ON prices.product_id = products.id
GROUP BY products.id
) as min_prices
ON
min_prices.id = products.id
AND
min_prices.min_price = prices.price
此查询工作正常,但结果加倍。
链接到SqlFiddle:
http://sqlfiddle.com/#!9/d106d9a/1
如您所见,我需要以最低价格获取price_init字段。
谢谢。