1、
A表中字段:id userName age class sortrank
B表中字段:id userName title sortrank
2、A表中userName和B表中userName相关联
3、查询某个年龄某个班级下有多少主题题材(title)是一样的
需要注意:GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉,默认只返回1024长度的字符串。
需要在mysql配置文件中,加上group_concat_max_len = 1024000 #你要的最大长度。
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 #你要的最大长度。