Подсчитать сгруппированные результаты - PullRequest
0 голосов
/ 03 апреля 2019

Привет! Мне нужно посчитать, сколько результатов в столбцах фонтанов, например:

Я создал этот запрос, чтобы объяснить мою проблему:

  Declare @t as Table(a varchar(50), b varchar(50))
  Insert into @t (a,b) values ('UNO', 'LOBO');
  Insert into @t (a,b) values ('DOS', 'LOBO');
  Insert into @t (a,b) values ('UNO', 'PERRO');
  Insert into @t (a,b) values ('DOS', 'PERRO');
  Insert into @t (a,b) values ('UNO', 'GATO');
  Insert into @t (a,b) values ('UNO', 'POLLO');
  Insert into @t (a,b) values ('UNO', 'PATO');
  Insert into @t (a,b) values ('UNO', 'PATO');
  Insert into @t (a,b) values ('UNO', 'PATO');
  Insert into @t (a,b) values ('UNO', 'PATO');

    select b,a from @t  group by b,a

   The grouped que results:
   b            a
   ------------ -----------------
   GATO         UNO
   LOBO         DOS
   LOBO         UNO
   PATO         UNO
   PERRO        DOS
   PERRO        UNO
   POLLO        UNO

Итак, я хочу посчитать, сколько a имеет b, например, LOBO имеет два результата, или perro имеет два результата после группировки.

1 Ответ

0 голосов
/ 03 апреля 2019

Вы хотите посчитать distinct значения a, верно?
Тогда group by b только:

select b,count(distinct a) counter from @t  group by b

См. Демоверсию .
Результаты:

b     | counter
:---- | ------:
GATO  |       1
LOBO  |       2
PATO  |       1
PERRO |       2
POLLO |       1


Если вы хотите посчитать дубликаты также:

select b,count(a) counter from @t  group by b
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...