제목이 상황을 올바르게 설명하는지 확실하지 않지만 여기서 최선을 다해 설명하려고합니다.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 나는 또한 내부 내가이 쿼리
"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
"
나중에 내가 루프가 일 수와 같이 할 수있는
가입 이유 WHERE 절에 몇 가지 추가 조건이 전자 결과와 결과
그러나 내 내부 루프마다 ID를 구분 쉼표를 사용하여 나는이에이
foreach(query_results....){
foreach(group_id....){
foreach(item_id....){
// Display info
}
}
}
어떤 아이디어 그런 짓을하기 위해 USER_ID에 의해 그룹이 원하는? 하위 쿼리를 사용하여
PHP를 사용하는 경우, GROUP_CONCAT을 사용하십시오! – Strawberry
@Strawberry 당신은 무엇을 의미합니까? – DannyG
글쎄 왜 정렬 된 배열을 반환하지 않고 PHP 루프를 넘기지 않을까요? 내 생각에 다른 집계 함수와 함께 사용하지 않는 한, GROUP_CONCAT이 해결책 인 SQL에는 문제가 없다. 특히 PHP가 관련된 부분은 그렇다. – Strawberry