以下查询效果很好
SELECT
t.name,
t.id
FROM
team t,
member m
WHERE
m.team_id = t.id
并显示多个结果 我坚持使用的是如何修改查询以显示团队名称和团队中团队成员的数量,例如,团队A有50个团队成员,团队B有20个成员,等等。 / p>
问题是member.team_id
有逗号分隔值
我team
表
我member
表
根本不是一个重复的问题
答案 0 :(得分:1)
使用sql join tables where 1 column has comma中的技术加入表格,然后使用COUNT(*)
获取会员数。
SELECT t.name, COUNT(*)
FROM team t
JOIN member m
ON FIND_IN_SET( m.team_id, t.id ) > 0
GROUP BY t.name
答案 1 :(得分:0)
要从逗号分隔列表中获取成员数,请尝试使用length()和replace()
select
(LENGTH(team_ids) - LENGTH(REPLACE(team_ids, ',', '')))+1
from MyTable
通过删除逗号,长度减少了数量,并且还需要1个,因为最后没有逗号。