首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql中将列转换为数组?

如何在mysql中将列转换为数组?
EN

Stack Overflow用户
提问于 2020-04-30 21:13:50
回答 2查看 1.6K关注 0票数 2

我有一个包含2列的表,user_id和connection_type。这两个字段不是唯一的。一个单一的用户id可以出现多次,一个单一的连接类型可以出现多次。如何将所有连接类型组合到一个用户id中?

代码语言:javascript
复制
Table I have:

schema: 
user_id -- INT 
connection_type -- STRING

user_id connection_type 
101     4g 
102     3g 
101     4g 
101     2g 
102     2g 
101     4g 
102     4g 
101     4g 
102     4g 
101     4g

Table I need from the above:

user_id connection_type 
101     ['4g','4g','2g','4g','4g','4g'] 
102     ['3g','2g','4g','4g']
EN

回答 2

Stack Overflow用户

发布于 2020-04-30 21:15:11

MySQL本身并不支持数组--但是如果你想要一个JSON数组,你可以这样做:

代码语言:javascript
复制
select user_id, json_arrayagg(connection_type) connection_types
from mytable
group by user_id
票数 0
EN

Stack Overflow用户

发布于 2020-04-30 21:54:47

您可以在MySQL中使用group_concat函数:

查询如下:

代码语言:javascript
复制
select user_id,
group_concat(",",Connection_type) as connecttion_type
from table
group by user_id
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61524257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档