2

这是我正在做的示例查询。它产生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

这可能吗?我尝试的一切都会给我一个错误。

4

1 回答 1

1

要获得不同的组合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;

更新的 SQL Fiddle 演示

这会给你:

|      RESULT |
---------------
| 1,A,2,B,4,C |
于 2013-03-05T01:36:23.470 回答