3

我有一张表,其中包含从 到 的一对多ID映射some_value。什么查询可以为我some_value提供特定的全部信息ID

我可以使用 SQL 中有用的任何数组、字符串或其他对象作为list_of_values. 您不需要使用我的逗号分隔格式。

我的特殊 SQL 变体是 Hive,但语法和功能与 MySQL 非常相似 :)

起始表:

ID             some_value
-----------    ------------
1              a
1              b
1              c
2              x
2              y
2              z
2              a
3              g
3              h

成品表:

ID              list_of_values
----------      ----------------
1               a, b, c
2               x, y, z, a
3               g, h
4

2 回答 2

3
SELECT ID, COLLECT_SET(some_value) AS list_of_values
    FROM YourTable 
    GROUP BY ID;
于 2012-10-01T20:26:31.613 回答
0
SELECT
    `id`,
    GROUP_CONCAT(DISTINCT `some_value` SEPARATOR ', ') AS 'list_of_values'
FROM `your_table`
GROUP BY `id`
于 2012-10-01T20:34:57.257 回答