查询:

SELECT MemberId, a.MemberName, GROUP_CONCAT(FruitName) FROM a LEFT JOIN b ON
a.MemberName = b.MemberName GROUP BY a.MemberName

表一
MemberID          MemberName
--------------    ----------
1                  Al
1                  Al
3                  A2

表b
MemberName             FruitName
---------------        --------------
Al                     Apple
Al                     Mango
A2                     Cherry

以上查询的结果输出:
MemberId    MemberName  GROUP_CONCAT(FruitName)
3           A2          Cherry
1           A1          Apple,Apple,Mango,Mango

我使用的实际表每个有10列,因此仅将所有内容存储在一个表中并不是一种解决方法。也就是说,如何更改查询以仅返回'Apple,Mango' e的MemberNam

最佳答案

将关键字DISTINCT添加到分组列:

GROUP_CONCAT(DISTINCT FruitName)

关于sql - SQL:为什么在使用 'GROUP CONCAT' + 'GROUP BY'时查询重复值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1154029/

10-13 00:20