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
のやり方です データを正規化すると、テーブルは次のようになります。
videos
id member_id