2016-07-19 4 views
2

내가MySQL의 GROUP_CONCAT 제외 그룹 값

l r num 
A B 1 
A C 3 
A A 5 
B C 5 
B C 7 
B C 9 
C A 1 
C A 2 
C C 3 

아래의 테이블 그룹 CONCAT을하려고 우리가 또한 GROUP BY 등을 사용하면 그룹에 속하지 않는 요소의 그룹 CONCAT을 얻을 싶습니다 숫자를 (비슷한 방식으로) 합합니다. 예를 들어, 내가 얻기 위해 노력하고 출력 내가 SQL 바이올린이 here입니다

SELECT l, group_concat(distinct r), sum(num) 
from groups 
group by l; 

아래의 쿼리를 사용 나는 현재

l grps sum(num) 
A B,C,A  9 
B C  21 
C A,C  6 

아래와 같은 출력을 얻고있다

l grps sum(num) 
A B,C  4 
B C  21 
C A   3 

입니다

답변

4
SELECT l, GROUP_CONCAT(DISTINCT r), SUM(num) 
FROM groups 
WHERE l <> r 
GROUP BY l;