Jeg vil kraftigt anbefale at normalize
dine data, som andre har foreslået.
Baseret på dit nuværende design kan du bruge FIND_IN_SET
for at opnå det ønskede resultat.
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
Når du kører denne forespørgsel på dit givne datasæt, får du output som nedenfor:
| id | name | total |
|----|-------|-------|
| 1 | Tom | 2 |
| 2 | Bob | 2 |
| 3 | Zack | 3 |
| 4 | Dan | 3 |
| 5 | Casey | 2 |
Et must at læse
Er det virkelig så dårligt at gemme en afgrænset liste i en databasekolonne?
Mere
Sådan er dine vidoes
tabel ville se ud, hvis du normaliserer dine data:
vidoes
id member_id