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

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

GROUP BY fV.tier_id AND 'f.form_template_id'

Ответ 1

GROUP BY col1, col2, col3

Ответ 2

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

select * from table group by col1, col2

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

Ответ 3

group by fV.tier_id, f.form_template_id

Ответ 4

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

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

GROUP BY fV.tier_id, f.form_template_id

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

GROUP BY f.form_template_id, fV.tier_id

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

Ответ 5

Чтобы использовать простой пример, у меня был счетчик, который должен был суммировать уникальные 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;

Ответ 6

GROUP BY CONCAT(col1, '_', col2)