2017-01-25 10 views

ответ

2

Это делает то, что вы описывают:

create table NoOneEverNamesTheTableInSqlQuestions (
    id int, 
    name text, 
    groupid int 
); 

insert into NoOneEverNamesTheTableInSqlQuestions values 
    (1, 'user1', 0), 
    (2, 'user2', 0), 
    (3, 'user3', 1), 
    (4, 'user4', 1); 

select group_concat(g separator '---') as output 
from (
    select group_concat(concat_ws(',',id,name) separator ';') as g 
    from NoOneEverNamesTheTableInSqlQuestions 
    group by groupid 
) as g; 

Output, испытанный с MySQL 8.0.0-DMR:

+-----------------------------------+ 
| output       | 
+-----------------------------------+ 
| 1,user1;2,user2---3,user3;4,user4 | 
+-----------------------------------+ 

Но я не знаю, почему вы хотели бы это сделать. Это похоже на то, что было бы проще сделать в коде приложения.

+0

хорошее хорошее. Я изучаю новый разделитель –