我有查询,如果它们属于一个组,则连接字符串。
SELECT e.id,
ke.value,
re.value AS re_value,
GROUP_CONCAT(g.value,', ')
FROM entry e
INNER JOIN k_ele ke ON e.id = ke.fk
INNER JOIN r_ele re ON e.id = re.fk
INNER JOIN sense s ON e.id = s.fk
INNER JOIN gloss g ON s.id = g.fk
WHERE g.lang IS NULL
GROUP BY s.id
ORDER BY re_value
但是
GROUP_CONCAT(g.value,',')
正在给出这个结果。
深情的关系,深情的关系,深情的关系,深情的关系,爱的关系,爱的关系,爱的关系,爱的关系
正如您所看到的,连接中存在重复。如何避免连接中的重复?
答案 0 :(得分:28)
GROUP_CONCAT(DISTINCT g.value)
答案 1 :(得分:4)
在应用GROUP_CONCAT之前,您必须删除重复项,这通常需要子查询:
SELECT a, GROUP_CONCAT(b)
FROM (SELECT DISTINCT a, b
FROM MyTable)
GROUP BY a