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 #你要的最大长度。
本文介绍了一种使用SQL查询特定条件下相同主题数量的方法,并演示了如何通过连接不同表来获取所需数据,同时提供了处理GROUP_CONCAT结果的技巧。
2万+

被折叠的 条评论
为什么被折叠?



