我有一个表像这样:MySQL的 - 使用find分钟的价格加盟
ORDER_ID INT 的product_id INT average_price DOUBLE other_price DOUBLE
有多种product_ids
每order_id
即多种产品的每个订单。我想以最低的平均价格每个订单的产品和这些产品那些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
与最低平均价格为每个订单(我已经证实检查数据库)。
你能提出一个更好的查询吗?
干杯。
皮特