是否可以通过不同的Id group_concat
记录:
GROUP_CONCAT(Column2 BY DISTINCT Column1)
我需要通过与column1
不同的值来获得column2
的值。因为第2列中有重复的值,所以我不能在column2
上使用distinct。
对此有什么想法吗?谢谢
编辑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
函数的情况下完成,但我需要分隔符。这可能不是一个好答案,但无论如何我都会发布它。
试试这个,(最简单的方法)
SELECT GROUP_CONCAT(VALUE)
FROM
(
SELECT DISTINCT ID, VALUE
FROM TableName
) a
SQLFiddle演示
GROUP_CONCAT
函数支持DISTINCT
表达式。
SELECT id, GROUP_CONCAT(DISTINCT value) FROM table_name GROUP BY id
这应该有效:
SELECT GROUP_CONCAT(value) FROM (SELECT id, value FROM table GROUP BY id, value) AS d