Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中...

本文介绍了一种使用SQL进行联表查询的方法,通过左连接将用户信息表与报名表关联,并使用group_concat函数实现对参与者的姓名进行分组计数,最终展示每个活动的参与者名单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL表中数据是这样的

有两张表 一张表是用户信息表, 应一张表是报名表

用户信息表 user
userIduserNamesexage
1小明112
2小花219
3张三117
4王二麻子145
5李四137
报名表 bs
cbsIdbsNameuser
1足球赛1,2,3
2篮球赛2,4,5
3拔河1,3,5

正常查询用户信息表

select * from u

现在需求是:

bsIdbsNameuserName
1足球赛小明,小花,张三

修改sql为

select bs.bsId, bs.bsName,group_count(user.userName) 
from bs left join user on find_in_set(user.userId, bs.bsId) 
group by bs.bsId;

转载于:https://my.oschina.net/antsdot/blog/1635498

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值