带 MIN 的 MySQL select 语句

标签 mysql select min

我在 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/

相关文章:

linux - 获取文件中的最小行(基于字符串字典顺序的最小行)

php - 选择数据取决于 MySQL 中的日期

MySQL - 每天处理 200M+ 条记录

mysql - 在powershell中运行cmd,然后返回powershell进行清理

mysql - 使用 "and"和 "in"

JQuery - 获取选择值

沿着一个轴的一系列 Pandas element-wise min max

mysql - 如果任何行包含该键的指定值,如何选择该键的所有行

mysql - 如何在工作台中选择加密

R min 和 max 函数不适用于日期