如何使用具有GROUP BY的SELECT和具有在特定SQL情况下
问题描述:
我有一个表中的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中做错了?非常感谢你!
答
你们非常接近:
SELECT maker, MIN(type) type
FROM product
GROUP BY maker
HAVING COUNT(DISTINCT type) = 1
AND COUNT(DISTINCT model) > 1;