Mysql 组合键的一部分按分组

Mysql 组合键的一部分按分组,mysql,sql,group-by,aggregate-functions,Mysql,Sql,Group By,Aggregate Functions,我只想使用此表查找每种商品的最便宜批发商: 表品批发商 article_id wholesaler_id price 1 1 500 1 2 1000 2 1 300 主键由商品id和批发商id组成 有没有办法通过使用min功能来实现这一点 此查询实际上并没有返回正确的批发商id

我只想使用此表查找每种商品的最便宜批发商:

表品批发商

article_id     wholesaler_id        price
1                    1               500
1                    2              1000
2                    1               300
主键由商品id和批发商id组成

有没有办法通过使用min功能来实现这一点

此查询实际上并没有返回正确的批发商id,但为了将此查询用作子查询,我需要主键的两部分

select aw.article_id, aw.wholesaler_id, min(aw.price) as min_purchase_price
from Article_Wholesaler aw
group by aw.article_id;

感谢您的帮助:)。

您没有为此使用分组方式。你可以做:

Select t.*
From t
Where t.price = (select min(t2.price) from t t2 where t2.artickeid = t.articleid)

您可以将子选择与分组依据一起使用

  select aw.article_id, aw.wholesaler_id, aw.price
  from Article_Wholesaler aw 
  where ( aw.article_id, aw.price in ( select  article_id, min(price)
                                        from Article_Wholesaler
                                         group by article_id )

您使用的是什么数据库管理系统?只是一个简单的mysqlSee(或MIN,在您的例子中)