我需要找到制造至少三种不同型号PC的制造商。 结果集:制造商,型号数量。
我的桌子是 产品(制造商,型号,型号) PC(代码,型号,速度,内存,高清,CD,价格)
我现在已经这样做了
SELECT Product.maker, PC.model
FROM PC, Product
WHERE Product.model=PC.model
答案 0 :(得分:5)
“产品”表包含有关制造商,型号的信息 数字和类型('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