Как мне посчитать разные значения от одного и того же идентификатора? - PullRequest
0 голосов
/ 29 мая 2019

Как подсчитать разные значения из столбца, если для каждого идентификатора есть дубликаты?

Я пробовал COUNT, DISTINCT, CASE и все, но я не могу подсчитать разные значения для каждого идентификатора.У меня есть такая таблица.

ID          Symptom
1           Headache
1           Headache
1           Hematuria
1           Leg pain
1           Headache
2           Cough
2           Headache
2           Cough
3           Cough
3           Cough
3           Cough

Я хочу получить что-то вроде этого.

ID    Symptom 
1     Headache
1     Hematuria
1     Leg pain
2     Cough
2     Headache
3     Cough

Или как мне получить общее количество?Как будто есть 5 разных симптомов, но не 11 симптомов (если я использую DISTINCT, я получу 4).

Ответы [ 3 ]

4 голосов
/ 29 мая 2019

Вам нужно distinct с select заявлением:

select distinct id, Symptom
from table t;

Если вам нужен уникальный счет, используйте его внутри count():

select id, count(distinct Symptom)
from table t
group by id;
0 голосов
/ 29 мая 2019

Просто сгруппируйте по этим полям:

SELECT ID, Symptom
FROM Symptoms
GROUP BY ID, Symptom

Скрипка: http://sqlfiddle.com/#!18/48dde/2/0

0 голосов
/ 29 мая 2019

Попробуйте это:

SELECT ID, Symptom
FROM MY_TABLE
GROUP BY 1,2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...