数据库
首页 > 数据库> > mysql-SQL从几行创建一个数组

mysql-SQL从几行创建一个数组

作者:互联网

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

我可以使用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

解决方法:

SELECT ID, COLLECT_SET(some_value) AS list_of_values
    FROM YourTable 
    GROUP BY ID;

标签:self-join,hive,join,mysql
来源: https://codeday.me/bug/20191127/2075210.html