2016-08-31 4 views
3

У меня есть базы данных SQL с одной таблицей: продукт (производитель, тип, модель)Как использовать ВЫБРАТЬ с GROUP BY и HAVING в конкретном случае SQL

Для каждой строки мы имеем другой производитель (бренд), тип продукта (ПК, планшет, ноутбук и т. д.) и модель (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; 

 Смежные вопросы

  • Нет связанных вопросов^_^