不知道标题是否可以解释这种情况,但我会尽力在这里做最好的解释。MySQL group_concat并嵌套另一个group_concat
我有3个字段的表链接到其他表,我想通过以下方式分组的所有行:
item_id, user_id, group_id
1 2 3
2 2 3
3 4 5
4 2 4
在我的询问,我想以逗号分隔格式通过分组的所有items_id GROUP_ID我也有WHERE子句,这就是为什么内加入
,我可以这样做与此查询
"SELECT
GROUP_CONCAT(DISTINCT A.item_id) AS ids
FROM tableA A
INNER JOIN tableB B ON(tableA.id = tableB.id)
WHERE xxxxx
GROUP BY A.group_id
"
后,我可以循环届一些额外的条件Ë结果和使用结果
但中分离到内环每一个ID的逗号我也想组由它USER_ID为了做这样的事情
foreach(query_results....){
foreach(group_id....){
foreach(item_id....){
// Display info
}
}
}
在这个任何想法?使用子查询
如果你使用PHP,那么我真的不明白为什么你' d完全可以使用GROUP_CONCAT! – Strawberry 2014-09-26 16:46:22
@Strawberry你是什么意思? – DannyG 2014-09-26 16:55:00
那么,为什么不只是返回一个有序数组,让PHP循环呢?在我看来,除非将其与其他聚合函数结合使用,否则在GROUP_CONCAT是解决方案的SQL中没有问题 - 尤其是在涉及PHP的情况下。 – Strawberry 2014-09-26 17:04:07