MYSQL聚合函数GROUP_CONCAT的使用【DEDECMS】

来源:互联网 发布:防网络诈骗暴漫风 编辑:程序博客网 时间:2024/05/14 03:43
1、
A表中字段:id userName age class sortrank
B表中字段:id userName title sortrank


2、A表中userName和B表中userName相关联 


3、查询某个年龄某个班级下有多少主题题材(title)是一样的 
 
//GROUP_CONCAT(userName) as userName//把用户名称这一列数据变成一行(字符串不带引号)以逗号分割组成的字符串 比如:张三,李四,王五$row = $db->GetOne("SELECT GROUP_CONCAT(userName) as userName FROM B WHERE `title` LIKE '%$title%'");//把不带引号的逗号分割字符串替换为带引号的逗号分割字符串$userName = str_replace(",","','",$row['userName']);//A表中查询在B表中查询结果中出现的数据$mysql= "select * from A  where  `userName ` in (' ".$userName ." ') "; 

需要注意:GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉,默认只返回1024长度的字符串。
需要在mysql配置文件中,加上group_concat_max_len = 1024000 #你要的最大长度。
1 0
原创粉丝点击