Mysql 字段存储多个ID关联查询(GROUP_CONCAT和FIND_IN_SET函数用法)

在很多时候都有这样的设计场景,一个字段会存储多个id编号,以逗号分隔开,需要关联查询数据。

采用内置函数FIND_IN_SET实现

tb_point_catalog

tb_topic

查询列point里多个编号所代表的记录信息

select t.id,t.point,
(select GROUP_CONCAT(po.name) from tb_point_catalog as po where FIND_IN_SET(po.id,t.point)) as ponitName
from tb_topic as t;

查询结果

GROUP_CONCAT函数

语法:GROUP_CONCAT(expr)

GROUP_CONCAT会将多个值以逗号拼接起来,返回成一个字符串

FIND_IN_SET函数

语法:FIND_IN_SET(str,strlist)

str要查询的字符串

strlist字段名,参数以逗号分隔开

以上就是本文的全部内容,希望对大家的学习有所帮助,欢迎评论交流。能get到知识点不要忘了关注点个赞~ 拒绝白嫖从我们做起hh~ 

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破茧重生ys

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值