решение zerkms работает, без сомнения об этом.Но ваша проблема создается неверной схемой базы данных, как указал Стив Уэлленс.Вы не должны иметь более одного значения в одном столбце, потому что это нарушает первый нормальный закон.Вместо этого вы должны сделать как минимум две таблицы.Например, предположим, что у вас есть участников , которые владеют животными :
table member (member_id, member_name)
table member_animal (member_id, animal_name)
Еще лучше: поскольку у многих пользователей может быть один и тот же тип животных, вам следуетсоздать 3 таблицы:
table member (member_id, member_name)
table animal (animal_id, animal_name)
table member_animal (member_id, animal_id)
Вы можете заполнить свои таблицы следующим образом, например:
member (1, 'Tomas')
member (2, 'Vincent')
animal (1, 'cat')
animal (2, 'dog')
animal (3, 'turtle')
member_animal (1, 1)
member_animal (1, 3)
member_animal (2, 2)
member_animal (2, 3)
И, чтобы ответить на ваш первоначальный вопрос, это то, что вы бы сделали, если хотитечтобы узнать, сколько животных имеет каждый пользователь:
SELECT member_id, COUNT(*) AS num_animals
FROM member
INNER JOIN member_animal
USING (member_id)
INNER JOIN animal
USING (animal_id)
GROUP BY member_id;