मैं दृढ़ता से normalize करने का सुझाव दूंगा आपका डेटा जैसा कि अन्य ने सुझाव दिया है।
अपने वर्तमान डिज़ाइन के आधार पर आप FIND_IN_SET
वांछित परिणाम प्राप्त करने के लिए।
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
इस क्वेरी को अपने दिए गए डेटा सेट पर चलाने से आपको नीचे जैसा आउटपुट मिलेगा:
| id | name | total |
|----|-------|-------|
| 1 | Tom | 2 |
| 2 | Bob | 2 |
| 3 | Zack | 3 |
| 4 | Dan | 3 |
| 5 | Casey | 2 |
अवश्य पढ़ें
क्या एक डेटाबेस कॉलम में एक सीमांकित सूची संग्रहीत करना वाकई इतना बुरा है?
अधिक
इस तरह आपके vidoes यदि आप अपने डेटा को सामान्य करते हैं तो तालिका ऐसी दिखेगी:
vidoes
id member_id