Использование группы по двум полям и подсчет в SQL

У меня есть таблица в моей mysql db, которая имеет два столбца: group и subgroup. Смотри ниже.

 group, subGroup
 grp-A, sub-A
 grp-A, sub-A
 grp-A, sub-B      
 grp-B, sub-A
 grp-B, sub-B
 grp-B, sub-B

Я пытаюсь получить количество записей для каждой отдельной группы/подгруппы пары.

Это то, что я ожидаю:

group, subGroup, count
grp-A, sub-A, 2
grp-A, sub-B, 1
grp-B, sub-A, 1
grp-B, sub-B, 2

Прочитав несколько сообщений, я попробовал несколько sql-запросов с помощью group by, count(), но мне не удается получить ожидаемый результат. Как я могу это исправить?

Ответ 1

Я думаю, что вы ищете: SELECT a, b, COUNT(a) FROM tbl GROUP BY a, b

Ответ 2

Вы должны сгруппировать оба столбца, группу и подгруппу, а затем использовать агрегированную функцию COUNT().

SELECT
  group, subgroup, COUNT(*)
FROM
  groups
GROUP BY
  group, subgroup

Ответ 3

SELECT group,subGroup,COUNT(*) FROM tablename GROUP BY group,subgroup

Ответ 4

я хотел другой случай, подсчет sugroups для каждой группы, так что это запрос SELECT a, b, COUNT (отличный b) FROM tbl GROUP BY a

Ответ 5

Может кто-нибудь, пожалуйста, помогите мне с этим запросом

выберите (выберите имя, сумму (сумму) из таблицы 1, где SNS_0 = '1' и ACCDAT_0 между группами '01 -04-2018 'и '31 -03-2019' по имени) - (выберите имя, (случай, когда сумма (сумма) ) равен нулю, затем '0' else (сумма (сумма)) end) из таблицы 1, где SNS_0 = '-1' и ACCDAT_0 между группами '01 -04-2018 'и '31 -03-2019' по имени)