2013-05-15 2 views
0

Так сказать, в моей базе данных у меня есть что-то вроде этого:Получить различные комбинации вместе со счетом

col1  col2  col3 

value1 value2 value1 
value1 value1 value2 
value1 value2 value1 
value1 value3 value2 
value2 value3 value1 

Я ищу запрос к базе данных для различных комбинаций колонки 1, 2 и 3 вместе с графом от числа вхождений, т. е.

col1  col2  col3  count 

value1 value2 value1 2 
value1 value1 value2 1 
value1 value3 value2 1 
value2 value3 value1 1 

Порядок Важен!

+1

Это не рекомендуется подписывать сообщения - они подписаны автоматически. –

ответ

1

Это может быть проще, чем вы ожидали:

SELECT col1, col2, col3, count(*) AS ct 
FROM tbl 
GROUP BY 1, 2, 3 
ORDER BY 1, 2, 3; 
+0

Спасибо за ваш ответ, я отредактировал этот вопрос, чтобы быть более конкретным для моих требований, т. Е. Мне нужно будет сделать это более чем на двух столбцах, и порядок также важен, пожалуйста, не могли бы вы отредактировать свой ответ соответственно, как я пытался и это не сработало. –

+1

@JamesElder: Не изменяйте характер вопроса после (правильного) ответа. Начните новый вопрос по другому вопросу. Тем не менее, мой ответ должен по-прежнему охватывать вашу проблему. Просто протяните его третьим столбцом. По умолчанию порядок столбцов учитывается. –

+0

Извините, что я старался держать вопрос простым, чтобы было легче ответить, тогда понял, что запрос будет совершенно другим, если я добавлю третий столбец ... И я изменил его на этот 'SELECT col1, col2,, col3 count (*) AS ct ОТ tbl ГРУППА ПО 1, 2, 3; ЗАКАЗАТЬ 1, 2, 3; 'но это не сработало? –

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