3

是否可以group_concat按不同的 ID 记录:

GROUP_CONCAT(Column2 BY DISTINCT Column1)

我需要从column2不同的值中获取值column1。因为第 2 列中有重复值,所以我不能使用 distinct on column2

对此有什么想法吗?谢谢!

编辑 1

样本表记录:

ID  Value
1   A
1   A
2   B
3   B
4   C
4   C

使用GROUP_CONCAT我想要的 [ GROUP_CONCAT(Value BY DISTINCT Id)],我将有一个输出:

A, B, B, C

编辑 2

不知何故让我的group_concat工作:

GROUP_CONCAT(DISTINCT CONCAT(Id, '|', Value))

这将通过不同的 id 显示连接的值,只需要在某处摆脱 Id。您可以在没有该concat功能的情况下执行此操作,但我需要分隔符。这可能不是一个好的答案,但无论如何我都会发布它。

4

3 回答 3

6

试试这个,(最简单的方法

SELECT GROUP_CONCAT(VALUE)
FROM
(
    SELECT DISTINCT ID, VALUE
    FROM TableName
) a

SQLFiddle 演示

于 2012-09-05T02:59:13.047 回答
2

GROUP_CONCAT函数支持DISTINCT表达式。

SELECT id, GROUP_CONCAT(DISTINCT value) FROM table_name GROUP BY id
于 2012-09-05T03:03:48.147 回答
0

这应该有效:

SELECT GROUP_CONCAT(value) FROM (SELECT id, value FROM table GROUP BY id, value) AS d
于 2012-09-05T03:00:29.643 回答