Suggerirei vivamente di normalize
i tuoi dati come altri hanno suggerito.
In base al tuo progetto attuale puoi utilizzare FIND_IN_SET
per ottenere il risultato che desideri.
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
Eseguendo questa query sul set di dati fornito, otterrai un output come di seguito:
| id | name | total |
|----|-------|-------|
| 1 | Tom | 2 |
| 2 | Bob | 2 |
| 3 | Zack | 3 |
| 4 | Dan | 3 |
| 5 | Casey | 2 |
Da leggere
La memorizzazione di un elenco delimitato in una colonna del database è davvero così male?
Altro
Ecco come il tuo vidoes
la tabella sarebbe se normalizzi i tuoi dati:
videos
id member_id