2013-12-10 54 views
-1

我很坚持了以下问题:SQL查询,选择1元,最高COUNT元素B,值和最低值C元素

表“供应商”:1004件不同的物品,用21个不同的供应商(所以很多文章具有相同的供应商,但同一篇文章中从来没有超过1个供应商)

表“文章”:1004万方,价格每一篇文章,文章的类(服装,食品等)。 因此,每个不同的文章都有明显的价格,但某些文章组属于1种。

实施例:第32号(男性鞋尺寸40),236(妇女鞋尺寸40),54(儿童鞋尺寸20)都具有 “鞋” 在列 “KIND”。

问题: 不适分裂问题分为两个部分。

  1. 选择文章的种类,其中这种文章的供应商的金额是最高的。
  2. 在这个组中,选择价格最低的文章。

最后,答案应该是:ARTICLE,PRICE,SUPPLIER。 (换句话说,属于供应商数量最多且价格最低的物品种类的文章)。

我只有在此之后至今大量玩味..

SELECT 
    article.art, article.price, 
    COUNT(DISTINCT supplier.sup) 
FROM article, supplier 
WHERE article.art = supplier.art 
GROUP BY artikel.art 

我预计今年给我的每篇文章有多少供应商有,但它不。 我敢肯定,你必须使用的东西:

HAVING MIN(price)

ORDER BY article.price ASC AND COUNT(DISTINCT supplier.sup) DESC

我试过的代码,我认为每一个可能的组合,但我无法找到答案。有人在这里能够吗?

+1

量的供应商?我没有得到这个。你能否详细说明一下。列出几行表格并构建您想要查看的结果表是一个好主意。这样我们就可以轻松理解。 – johnny

+0

价格是不是由供应商定义的东西?我有点惊讶地发现,在文章表中。 – cars10m

+0

什么组的价格最低的文章?你只是指最低价的文章? –

回答

0

我认为你正在寻找的东西是这样的:

SELECT 
    article.art, article.price, 
    COUNT(DISTINCT supplier.sup) 
FROM article LEFT OUTER JOIN supplier ON article.art = supplier.art 
ORDER BY artikel.price ASC 
LIMIT 0,1 
GROUP BY artikel.art