我有一张这样的桌子:
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
每个订单的最低平均价格(我已经通过检查数据库确认了)。
你能建议一个更好的查询吗?
干杯。
皮特