Sugeruję normalize
Twoje dane zgodnie z sugestiami innych.
Na podstawie obecnego projektu możesz użyć FIND_IN_SET
aby osiągnąć pożądany rezultat.
SELECT
M.id,
M.name,
COUNT(*) total
FROM members M
INNER JOIN videos V ON FIND_IN_SET(M.name,V.members) > 0
GROUP BY M.name
ORDER BY M.id
Uruchamiając to zapytanie na podanym zestawie danych, otrzymasz dane wyjściowe jak poniżej:
| id | name | total |
|----|-------|-------|
| 1 | Tom | 2 |
| 2 | Bob | 2 |
| 3 | Zack | 3 |
| 4 | Dan | 3 |
| 5 | Casey | 2 |
Koniecznie przeczytaj
Czy przechowywanie rozdzielanej listy w kolumnie bazy danych jest naprawdę takie złe?
Więcej
W ten sposób Twoje vidoes
tabela wyglądałaby tak, jakbyś znormalizował swoje dane:
vidoes
id member_id