至少SQL计数

时间:2012-01-25 15:21:52

标签: sql count

我需要找到制造至少三种不同型号PC的制造商。 结果集:制造商,型号数量。

我的桌子是 产品(制造商,型号,型号) PC(代码,型号,速度,内存,高清,CD,价格)

我现在已经这样做了

SELECT Product.maker, PC.model 
FROM PC, Product 
WHERE Product.model=PC.model

7 个答案:

答案 0 :(得分:5)

PCcontains only the computers having been produced and it may be missing some existing models not yet produced

  

“产品”表包含有关制造商,型号的信息   数字和类型('PC','笔记本电脑'或'打印机')。假设是   Product表中的型号对于所有制造商而言都是独一无二的   产品类型。每台PC通过表“PC”中的代码唯一指定   以model为特征(引用Product表的外键),   速度(处理器的速度,以MHz为单位),RAM的总量 - ram(以Mb为单位),   硬盘驱动器容量 - 高清(以Gb为单位),CD ROM速度 - cd(例如,   '4x')和价格。

所有模型都包含在Product表中。

事实证明,Product表的标志是什么类型的产品:type

因此,查询实际上甚至不需要连接:

select maker, count(model)
from Product
where type = 'PC'
group by maker
having count(model) >= 3

答案 1 :(得分:3)

我有同样的问题: 所以试试这个查询,希望你正在寻找这个:

SELECT maker, COUNT(DISTINCT model)
FROM product
WHERE type = 'PC'
GROUP BY maker
HAVING COUNT(DISTINCT model) > 2

答案 2 :(得分:2)

您可以尝试此查询:

select Product.maker, count(distinct Product.model)
from PC inner join Product on PC.model = Product.model
group by Product.maker
having count(distinct Product.model) >= 3

答案 3 :(得分:2)

这将有效

SELECT P.maker, count(P.model) as Count_Model
from product P
where p.type = 'pc'
group by maker
having count(p.model) >=3

答案 4 :(得分:1)

尝试GROUP BY Product.maker HAVING COUNT(PC.model) >= 3

答案 5 :(得分:0)

这将有效:

SELECT maker,COUNT(model) AS Count_Models FROM Product 
    WHERE type = 'PC' 
    GROUP BY maker 
    HAVING COUNT(DISTINCT model) >= 3

答案 6 :(得分:0)

我建议以下查询:

select distinct maker,COUNT(model) AS Count_model from Product where type='PC' GROUP BY maker HAVING COUNT(model)>=3