Запрос Sql SELECT показывает только 1 строку

#mysql

Вопрос:

Поэтому я пытаюсь получить таблицу, в которой показаны 3 вида деятельности с идентификаторами 6,7,8, и они должны быть из определенной страны. В нем должны быть указаны их имена и количество раз, когда они появляются в person_activity_interval, но в таблице, которую я получаю, всего 1 строка с названием 1 действия и количеством всех перечисленных действий. Если я удалю другие 2 действия, это даст мне правильное имя и количество, но мне нужна таблица со всеми 3. Нужно ли мне использовать что-то вроде join или union?

 SELECT name,count(activity_id) 
FROM activity,person_activity_interval 
WHERE oib IN (SELECT oib 
              FROM person 
              WHERE living_id IN (SELECT id 
                                  FROM living 
                                  WHERE country= "Poland")) 
  AND ((activity_id=8 AND id =8) OR (activity_id=7 AND id =7) OR (activity_id=6 AND id =6));
 

Комментарии:

1. Используйте ГРУППУ ПО имени

2. Вы используете агрегатную функцию (COUNT), и в ней нет предложения GROUP BY. В этом случае выполняется неявная ГРУППИРОВКА ПО, и все исходные данные обрабатываются как одна группа. Группировка создает одну строку на группу — таким образом, вы получаете одну выходную строку.

3. Спасибо. Это помогло, но он показывал только 2 строки вместо 3.