Saya sangat menyarankan untuk normalize
data Anda seperti yang disarankan orang lain.
Berdasarkan desain Anda saat ini, Anda dapat menggunakan FIND_IN_SET
untuk mencapai hasil yang Anda inginkan.
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
Menjalankan kueri ini pada kumpulan data yang Anda berikan, Anda akan mendapatkan output seperti di bawah ini:
| id | name | total |
|----|-------|-------|
| 1 | Tom | 2 |
| 2 | Bob | 2 |
| 3 | Zack | 3 |
| 4 | Dan | 3 |
| 5 | Casey | 2 |
Wajib baca
Apakah menyimpan daftar yang dibatasi dalam kolom basis data benar-benar buruk?
Lainnya
Beginilah cara vidoes
Anda tabel akan terlihat seperti jika Anda menormalkan data Anda:
vidoes
id member_id