Как посчитать каждое значение в нескольких строках и столбце? - PullRequest
1 голос
/ 20 февраля 2020

У меня проблема с подсчетом количества каждого тега.

Например:

    tags
0  a,b,c,d
1  a,b
2  c,d
3  a,c

Мои ожидаемые результаты:

tags   count
  a      3
  b      2
  c      3
  d      2

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Вы можете использовать STRING_SPLIT для достижения этого

SELECT
value, count(*) as countOfTags
FROM
(
VALUES
(0,  'a,b,c,d')
,(1,  'a,b'    )
,(2,  'c,d'    )
,(3,  'a,c'    )
) as t(id, tags)
CROSS APPLY 
string_split(tags,',')
GROUP BY value;

Набор результатов

+-------+-------------+
| value | countOfTags |
+-------+-------------+
| a     |           3 |
| b     |           2 |
| c     |           3 |
| d     |           2 |
+-------+-------------+
0 голосов
/ 20 февраля 2020

Добро пожаловать в StackOverFlow!

У вас есть пример вашего кода? Ваш тэг говорит "SQL", так что я это предположу. Я не могу многое сказать по вашему вопросу сейчас, потому что вы не дали нам достаточно информации, чтобы помочь. Для будущих вопросов было бы неплохо добавить немного больше подробностей о том, что вы уже пытались сделать.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...