【发布时间】:2016-03-15 08:39:06
【问题描述】:
我正在尝试使用category_id 的左连接查询来获取最低价格。查询返回正确的price 但不同的product_id。
我有两张表,一张是product,另一张是product_to_category(用于关系)。我正在尝试使用以下查询获取最低价格的product_id 和price。
SELECT p.product_id, MIN(p.`price`) FROM oc_product_to_category AS pc
LEFT JOIN oc_product AS p ON pc.`product_id`=p.`product_id` WHERE pc.`category_id` = 59
但上面的查询给了我错误的结果,因为category_id=59 包含三个product_id 67, 68, 71。 67 有价格8 和71 有15 价格所以根据MIN() 它应该返回包含最低price 和相同product_id 的行但上面的查询给了我不同product_id 的最低价格71。我还附上了您可以轻松理解的表格和结果屏幕截图。
表 oc_product_to_category
查询结果
谁能告诉我我哪里错了。我会感激的。谢谢
【问题讨论】:
-
您在价格上使用了 MIN 函数,这将为您提供正确的价格,但 product_id 将是随机的。
-
@KiwiJuicer 准确查询给我正确的价格但
product_id不正确我想显示同一行product_id -
GROUP BY p.product_id? -
是的,我也考虑使用 group by p.product_id 它会给出正确的答案。