使用mysql函数 group_concat 一点需要注意的
这个函数是一个非常好用的函数,比如我们可以在 进行多对多关联表,进行批量查询的时候可以用到,
比如学生和老师是多对多的关系,如果我们希望查询 指定的一些老师对应的学生有哪些 的时候,一般的情况,我们可能会遍历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
进行永久设置
改完配置文件记得重启数据库哦!
使用mysql函数 group_concat 一点需要注意的的更多相关文章
- oracle 函数 WMSYS.WM_CONCAT 与对应 mysql 函数GROUP_CONCAT的用法
1.oracle函数 WMSYS.WM_CONCAT的使用 如图,将图1的结果变成图2的结果,使用函数 WMSYS.WM_CONCAT 即可. 查询语句需要配合使用group by select aa ...
- mysql 函数GROUP_CONCAT(temp.amount SEPARATOR ',')的用法
mysql 函数GROUP_CONCAT(temp.amount SEPARATOR ',')的用法 使用场景:例如:想要查询用户的最喜欢购买的几种商品,这个时候就需要使用group_concat(字 ...
- MySQL函数GROUP_CONCAT
该函数返回带有来自一个组的连接的非NULL值的字符串结果.该函数是一个增强的Sybase SQL Anywhere支持的基本LIST()函数. 语法结构: GROUP_CONCAT([DISTINCT ...
- mysql 函数group_concat()
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) .MySQL中group_concat函数完整的语法如下:group_c ...
- 关于mysql函数GROUP_CONCAT
GROUP_CONCAT()是MySQL数据库提供的一个函数,通常跟GROUP BY一起用,具体可参考MySQL官方文挡:http://dev.mysql.com/doc/refman/5.0/en/ ...
- 【转】关于MySQL函数GROUP_CONCAT的使用
GROUP_CONCAT()是MySQL数据库提供的一个函数,通常跟GROUP BY一起用,具体可参考MySQL官方文挡:http://dev.mysql.com/doc/refman/5.0/en/ ...
- mysql 函数 GROUP_CONCAT 单元格中最长字符串和excel导出问题
GROUP_CONCAT 使用方式GROUP_CONCAT ([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) SELECT ...
- MySQL函数GROUP_CONCAT() 实现多条数据合并
group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来,group by指定的列进行分组. 例如: -- 根据物流订单id查询所有物流订单,车源订单,车辆信息(多条数据合并为一条 ...
- mysql中group_concat函数用法
该函数返回带有来自一个组的连接的非NULL值的字符串结果.该函数是一个增强的Sybase SQL Anywhere支持的基本LIST()函数. 语法结构: GROUP_CONCAT([DISTINCT ...
随机推荐
- luke 操作记录
精确查询(不需要切分词):得使用KeywordAnalyzer而不是StandardAnalyzer,原因如下: StandardAnalyzer:
- 苹果MAC中安装并搭建Android开发环境的详细步骤
Android的开发平台搭建主要需要的工具有:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK,以下是具体的安 ...
- C++重载,重写,重定义
1.重载:重载是在一个类中,函数名一样,参数类型或参数个数不同的一系列函数需要注意的是,与返回类型无关. class Test { public: void show(); void show(int ...
- Jquery easyui的validatebox控件和正则表达式
http://blog.csdn.net/dandanzmc/article/details/36421465 仔细观察jquery.validatebox.js文件,会发现它的验证其实还是采用的正则 ...
- 【C语言模拟实现】浮点数-转-定点数
要想超神,就要什么都精! 知识准备: 1. 输出浮点数的十六进制形式?(利用指针输出) 将浮点数指针-转换成-整型指针,以十六进制的格式输出指针内容. 示例程序: #include<stdio. ...
- DIV的绝对居中
来源:http://www.cnblogs.com/damonlan/archive/2012/04/28/2473525.html 作者:浪迹天涯 很多时候,我们需要在浏览器中让一个div居中进行显 ...
- 移动web 应用开发调试
调试前端页面我一直使用着神器Chrome开发人员工具, 那个方便, 大家都懂的. 但当我们要调试为移动设备设计的Web页面时, 是不是觉得有点力不从心了?平时开发时我们可以一直都是在桌面调试这个页面, ...
- kaptcha随机验证码的使用详解,超实用
效果图: 官方地址:https://code.google.com/p/kaptcha/w/list 1.把下载的kaptcha-2.3.2.jar添加到lib中 2.配置web.xml增加servl ...
- sqlserver 字符串拼接及拆开联表查询的问题
一.sql根据一个以逗号隔开的人员guid类型的ID字符串查出其对应的姓名同样拼接成逗号隔开的字符串: 1.需求:管理员发送通知(通知分为普通通知,奖品订单,调查问卷三种类型)给用户,并且可以查看统计 ...
- TKinter之输入框
输入框是 Entry,应用程序要取得用户的信息,输入框是必不可少的. 输入框比较重要的一个函数: get:返回值即输入框的内容 比如e是一个输入框,e['show']='*'就变成了密码框 小例子:用 ...