zerkms的解決方案的工作,毫無疑問。正如Steve Wellens指出的那樣,您的問題是由不正確的數據庫模式造成的。一列中不應有多個值,因爲它違反了第一條正常法則。相反,你至少應該製作兩張桌子。舉例來說,假設你有成員誰擁有動物:
table member (member_id, member_name)
table member_animal (member_id, animal_name)
更妙的是:因爲許多用戶可以有相同類型的動物,你應該創建3個表:
table member (member_id, member_name)
table animal (animal_id, animal_name)
table member_animal (member_id, animal_id)
你可以填充你的表是這樣,例如:
member (1, 'Tomas')
member (2, 'Vincent')
animal (1, 'cat')
animal (2, 'dog')
animal (3, 'turtle')
member_animal (1, 1)
member_animal (1, 3)
member_animal (2, 2)
member_animal (2, 3)
而且,回答你最初的問題,這就是,如果你想知道每個用戶有多少動物有,你會做什麼:
SELECT member_id, COUNT(*) AS num_animals
FROM member
INNER JOIN member_animal
USING (member_id)
INNER JOIN animal
USING (animal_id)
GROUP BY member_id;
這個線程也已經回答了[這裏](https://開頭計算器。com/questions/5033047/mysql-query-finding-values-in-a-comma-separated-string/47069224)#47069224) – Delickate