【发布时间】:2011-07-22 13:04:14
【问题描述】:
我有一张这样的桌子:
order_id INT product_id INT 平均价格双倍 other_price DOUBLE
每个order_id 有多个product_ids,即每个订单有多个产品。我想要每个订单平均价格最低的产品,以及这些产品中other_price >= average_price 的产品。
我试过了:
SELECT a.order_id, a.product_id, a.average_price, a.other_price
FROM
(SELECT order_id, product_id, min(average_price) as average_price
FROM orders
GROUP BY order_id
) as min_priced_product_per_order
JOIN orders AS a ON a.order_id = min_priced_product_per_order.order_id and min_priced_product_per_order.product_id = min_priced_product_per_order.product_id
WHERE a.other_price >= a.average_price
但结果不是我所期望的,我不相信我得到了每个订单最低平均价格的product_id(我已通过检查数据库确认)。
你能推荐一个更好的查询吗?
干杯。
皮特
【问题讨论】: