2015-07-15 4 views
1

я таблица улей, который содержит UserIds и некоторую переменную выбора, и в основном выглядит следующим образом:Группа переменное число строк, столбцов в улей таблице

userID selection 
    1   A 
    1   D 
    1   F 
    2   A 
    2   C 

То, что я хотел бы сделать, это конденсировать эту информацию и в конечном итоге что-то вроде:

userID selection1 selection2 selection3 
    1   A    D    F 
    2   A    C 

Возможно ли это? Мне непонятно, как это сделать, учитывая, что количество возможных вариантов зависит от пользователя.

Было бы даже хорошо, если я мог бы сделать что-то вроде:

userID selection 
    1  A,D,F  
    2   A,C  

Я попробовал несколько подходов, но до сих пор ничего не было достаточно близко, чтобы описать. Я думаю, что я хочу что-то в виде:

select userID, group_concat(selection) from table_name group by userID 

, но, насколько я могу сказать функцию GROUP_CONCAT не доступна.

Спасибо!

ответ

1

В случае, если кто заканчивает тем, что нуждаясь в ответ на это, она может быть достигнута с помощью:

select userID, collect_set(selection) from table_name group by userID 
+0

'collect_set (выбор)', кажется, так же, как выражение SQL 'GROUP_CONCAT (отличный выбор)' и к счастью, не то же самое, что 'group_concat (selection)' – swdev

Смежные вопросы