2016-07-19 34 views
2

我試圖爲表做一組CONCAT低於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 

我想獲得當我們使用GROUP BY也是不屬於該組的那些元素的組CONCAT總結數字(以類似的方式)。例如,我想獲得輸出

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

我目前得到的輸出如下

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

我用下面

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

查詢的SQL小提琴是here

回答

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