Подтвердить что ты не робот

SQL-запрос должен получить имена, где count (id) = 2

У меня есть таблица programparticipants. В настоящее время я успешно запрашиваю идентификаторы, где count(name) > 1. Теперь мне нужно запросить имена, принадлежащие тем идентификаторам, где count(name) > 1.

Пример, возвращаемый результат:

ID     count(name)
1      2
3      4
4      3

Пример: необходим результат:

ID     name
1      nm1
1      nm3
3      nm2
3      nm3
3      nm4
3      nm7
4      nm5
4      nm8
4      nm9
4b9b3361

Ответ 1

Вы можете использовать это:

SELECT 
   (SELECT name FROM participants WHERE id=p.participantid) AS name
FROM
   programparticipants AS p
WHERE
   .... (the part where you find count(name)>1)

Ответ 2

select count(id), name 
from programparticipants 
group by name 
having count(id) > 1

Ответ 4

select id, Name 
from programparticipants
where id in ( <your current query selecting only id here> )

Ответ 5

Подумайте, вы хотите посмотреть на группу, имея:

select id, name, count(name) from table group by 2,1 having count(name) = 2;

Вы можете подставить = 2 для > 1 в зависимости от того, что вы хотите (название говорит = 2, вопрос говорит > 1)

Ответ 6

SELECT id, Name
FROM   programparticipants
GROUP BY id, Name
HAVING COUNT(*) > 1