按部分复合键分组

时间:2016-11-27 19:09:24

标签: mysql sql group-by aggregate-functions

我想仅使用此表找到每篇文章最便宜的批发商:

表文章_批发商

article_id     wholesaler_id        price
1                    1               500
1                    2              1000
2                    1               300

主键由article_id和wholesaler_id组成。

使用min函数有没有办法实现这个目的?

此查询实际上并未返回正确的wholesaler_id,但为了将此查询用作子查询,我需要主键的两个部分......

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

感谢您的帮助:)。

2 个答案:

答案 0 :(得分:1)

您不要使用group by。你可以这样做:

  [Error: ENOENT: no such file or directory, open '/path/to/file/3f191fa8-4330-436a-9f85-4054f8fa6a67.pdf']

答案 1 :(得分:1)

您可以使用分组

进行子选择
  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 )
相关问题