Возможно ли использовать GROUP BY несколькими столбцами с использованием MySQL?

Возможно ли GROUP BY более одного столбца в запросе MySQL SELECT? Например:

GROUP BY fV.tier_id AND 'f.form_template_id'
+104
источник поделиться
6 ответов
GROUP BY col1, col2, col3
+163
источник

Да, вы можете группировать несколько столбцов. Но вы не можете получить правильный ответ.

select * from table group by col1, col2

Где,          
    col1 получил первое предпочтение от группировки, а col2 получил второе предпочтение. Поскольку mysql дает предпочтение слева направо.

+46
источник
group by fV.tier_id, f.form_template_id
+12
источник

Да, но что означает группировка более двух столбцов? Ну, это то же самое, что и группировка по каждой уникальной паре в строке. При заказе столбцов изменяется порядок сортировки строк.

В вашем примере вы должны написать

GROUP BY fV.tier_id, f.form_template_id

Между тем, код

GROUP BY f.form_template_id, fV.tier_id

даст похожие результаты, но отсортирован по-разному.

+11
источник

Чтобы использовать простой пример, у меня был счетчик, который должен был суммировать уникальные IP-адреса на каждую посещенную страницу на сайте. Что в основном группируется по pagename, а затем по IP. Я решил это с помощью комбинации DISTINCT и GROUP BY.

SELECT pagename, COUNT(DISTINCT ipaddress) AS visit_count FROM log_visitors GROUP BY pagename ORDER BY visit_count DESC;
+1
источник
GROUP BY CONCAT(col1, '_', col2)
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос