这是我正在做的示例查询。它产生1,A,1,A,3,B,2,B,4,C,4,C
.
SELECT GROUP_CONCAT(CONCAT(ID, ','), Value ORDER BY Value) FROM TableName
这是一个SQL Fiddle 演示。
我想调用DISTINCT
该列Value
,以便它输出1,A,2,B,4,C
。
这可能吗?我尝试的一切都会给我一个错误。
这是我正在做的示例查询。它产生1,A,1,A,3,B,2,B,4,C,4,C
.
SELECT GROUP_CONCAT(CONCAT(ID, ','), Value ORDER BY Value) FROM TableName
这是一个SQL Fiddle 演示。
我想调用DISTINCT
该列Value
,以便它输出1,A,2,B,4,C
。
这可能吗?我尝试的一切都会给我一个错误。
要获得不同的组合Id, Value
,您需要GROUP BY value
选择MIN(ID)
子查询内部,然后GROUP_CONCAT
以与您相同的方式在外部查询中选择。
像这样的东西:
SELECT GROUP_CONCAT(CONCAT(ID, ','), Value ORDER BY Value)
FROM
(
SELECT value, MIN(ID) AS ID
FROM tablename
GROUP BY value
) AS t;
这会给你:
| RESULT |
---------------
| 1,A,2,B,4,C |