2016-08-31 46 views
3

我有一个表中的SQL数据库:产品(制造商,类型,型号)如何使用具有GROUP BY的SELECT和具有在特定SQL情况下

因为我们有不同的制造商(品牌)的每一行,一个产品类型(pc,平板电脑,笔记本电脑等)和一个型号(1.1/2.0/3.4.5等)

问:如何获得只生产一种产品类型的制造商一个模型。

输出:制造商,类型。

提示:GROUP BY和HAVING语句

我尝试下面的查询,但没有成功,因为它不是在结果表中返回的任何值:

SELECT 
maker, type 
FROM 
product 
GROUP BY maker, type 
HAVING count(model)>1 and count(type)=1 

上午什么我在这个SELECT中做错了?非常感谢你!

回答

2

你们非常接近:

SELECT maker, MIN(type) type 
FROM product 
GROUP BY maker 
HAVING COUNT(DISTINCT type) = 1 
AND COUNT(DISTINCT model) > 1; 
相关问题