SQL получает количество значений одного столбца и группирует по другому

#mysql #sql

#mysql #sql

Вопрос:

У меня есть таблица, в которой у меня есть 3 столбца, вот так:

 NAME ZONE_ID GROUP_ID
Mark 11       1
Mary 11       1
Mart 12       1
Mike 11       2
Kent 13       2
  

Теперь я хочу посчитать все zone_id-ы для определенной группы. Таким образом, результатом для группы 1 будет то, что есть 2 записи в зоне 11 и 1 запись в зоне 12, а для группы 2 — что есть 1 запись для зоны 11 и одна запись в зоне 13.

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

Ответ №1:

Вам нужно group by group_id, zone_id :

 select group_id, zone_id, count(*) counter
from tablename
group by group_id, zone_id
  

Комментарии:

1. Это именно то, что мне было нужно, спасибо. Я не знал, что вы можете группировать по 2 разным столбцам.