博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用mysql函数 group_concat 一点需要注意的
阅读量:5260 次
发布时间:2019-06-14

本文共 756 字,大约阅读时间需要 2 分钟。

这个函数是一个非常好用的函数,比如我们可以在 进行多对多关联表,进行批量查询的时候可以用到,

比如学生和老师是多对多的关系,如果我们希望查询 指定的一些老师对应的学生有哪些 的时候,一般的情况,我们可能会遍历teacher_id,来一个个获取对应的学生集合,这样的话,效率是很差的,但是有了group_concat函数,你可以不用这样,你可以使用如下方式进行获取

select teacher_id,group_concat(student_id) from teache_student_mapping where teacher_id in (teacher_id1,teacher_id2,teacher_id3) group by teacher_id

这样就获取到了每个老师对应的学生集合.

又比如,在使用lucene等全文检索搜索引擎中是不支持表关联的,所以要存储这种关联关系,一种做法就是将这些数据以某些特定的字符进行连接,而我们的数据来源往往都是数据库,这个时候,group_concat又派上用场了,用法还是和上面一样,我就不多说了

但是这里有一个隐藏的问题,就是group_concat组成的字符串是有长度限制的,之前一直不知道这个问题,具体可以通过

show VARIABLES like 'group_concat_max_len'来进行查询

如果要修改这个信息,可以通过

SET group_concat_max_len = 20000

修改当前会话该参数值

或者修改配置文件

group_concat_max_len = 102400

进行永久设置

改完配置文件记得重启数据库哦!

转载于:https://www.cnblogs.com/coprince/p/3853049.html

你可能感兴趣的文章
iOS9新特性之泛型
查看>>
JavaScript定时器越走越快的问题
查看>>
11--Python 备份文件程序
查看>>
python的xml模块
查看>>
Java HashMap的工作原理(转载)
查看>>
2016 Multi-University Training Contest 1
查看>>
Alpha阶段展示报告
查看>>
leetCode 加一 问题记录
查看>>
[深入理解Java虚拟机]<自动内存管理>
查看>>
图片处理的一些函数
查看>>
第十七章 Django框架——缓存机制
查看>>
swust oj 956
查看>>
JSON.stringify
查看>>
Windows 2003 Server R2下DFS配置攻略
查看>>
Mysql的limit用法
查看>>
mysql基础(五)之pymysql
查看>>
lintcode-medium-Gas Station
查看>>
GitHub
查看>>
WPF先暂停一下
查看>>
POJ-1322 Chocolate 概率DP
查看>>