2015-12-30 3 views
1

мне нужно подсчитать количество вхождений каждого «оценка» и группировать их по «делают» по поддельным набора данных ниже:SQL подсчета и группировки уникальных значений

 
make | model | score 
Honda Accord 9 
Honda CRV  9 
Honda Prelude 8 
Toyota Camry  8 
Toyota Tundra 8 
Ford  F150  7 
Ford  Tempo  7 
Ford  Focus  8 

Это то, что мне нужно - 1 ряд для каждой комбинации марок и баллов:

 
make | score | count 
Honda  9  2 
Honda  8  1 
Toyota  8  2 
Ford  7  2 
Ford  8  1 

Меня не интересует заказ ATM. Я пробовал несколько версий, используя разные, но не могу получить желаемый результат.

Followup: Я хотел бы добавить строки на вывод, где Make имеет счет 0 (нет) для любого возможного значения оценки (в этом случае его {7, 8, 9}).

Выход меняется на:

 
make | score | count 
Honda  9  2 
Honda  8  1 
Honda  7  0 
Toyota  9  0 
Toyota  8  2 
Toyota  7  0 
Ford  9  0 
Ford  8  1 
Ford  7  2 
+0

'... (кол-отчетливый балл) ... группы по make'. увиденное много из них сегодня ... Вот пример: http://stackoverflow.com/questions/34534540/count-function-with-month-convert – xQbert

+3

опубликовать вашу попытку и узнать, как работает 'group by' –

ответ

0
SELECT make, score, count(1) 
FROM {your_table} 
GROUP BY make,score 
+0

Спасибо! –

+0

Мне также хотелось бы, чтобы на выходе были строки, для которых Make имел нулевое значение для любого значения в столбце «Оценка». Например, у Honda есть 2 Makes со счетом 9, но у Toyota и Ford есть 0, в то время как у Honda есть 0 Makes со счетом {8, 9}, а Toyota также имеет 0 баллов 7. Я бы хотел, чтобы результат включают эти строки. –

+0

Скажите, что вы попробовали. –

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