我有一张表格,其中包含从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
答案 0 :(得分:3)
SELECT ID, COLLECT_SET(some_value) AS list_of_values
FROM YourTable
GROUP BY ID;
答案 1 :(得分:0)
SELECT
`id`,
GROUP_CONCAT(DISTINCT `some_value` SEPARATOR ', ') AS 'list_of_values'
FROM `your_table`
GROUP BY `id`