我在 MySQL 数据库中有两个表。产品和产品项目。产品包含字段 product_id、product_name、image。产品项目包含字段item_id、product_id、size_id、doq_id、price。
一个产品有多个产品项目。
如何编写返回每种产品最低价格的语句?
我有以下内容:
SELECT p.product_name, p.image, p.product_id, MIN(pi.price) AS price
FROM (`product_items` as pi, `product` as p)
WHERE `pi`.`product_id` = 'p.product_id'
GROUP BY `p`.`product_name`
ORDER BY RAND()
LIMIT 3
但这是返回一个空数据集。
最佳答案
试试这个:
SELECT pr.id, pr.name, pr.image, MIN(pi.price) min_price
FROM products pr INNER JOIN product_items pi
ON pr.product_id = pi.product_id
GROUP BY pr.id
关于带 MIN 的 MySQL select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7255671/