Как преобразовать столбец в массив в mysql? - PullRequest
1 голос
/ 30 апреля 2020

У меня есть таблица из 2 столбцов, user_id и connection_type. Оба поля не являются уникальными. Один идентификатор пользователя может появляться много раз, а один тип подключения может появляться много раз. Как мне сгруппировать все типы подключений по одному идентификатору пользователя?

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']

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Вы можете использовать функцию group_concat в mysql

. Выберите user_id, group_concat (",", Connection_type) в качестве connecttion_type из группы таблиц по user_id

.
0 голосов
/ 30 апреля 2020

MySQL изначально не поддерживает массивы - но если вам нужен массив JSON, вы можете сделать:

select user_id, json_arrayagg(connection_type) connection_types
from mytable
group by user_id
...