Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Группировка парами (GROUP_CONCAT) / 3 сообщений из 3, страница 1 из 1
20.07.2014, 18:54:19
    #38701333
xmlns
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка парами (GROUP_CONCAT)
Добрый день.
Можно ли сделать так, что функция GROUP_CONCAT группировала парами? Например есть таблица:

Код: plaintext
1.
2.
3.
4.
5.
6.
id, Value
1,1234
2,34
1,qwer
3,нок56
2,aaaaa
2,xxxeder

Группировка по полю id. На выходе должно быть (сепаратор это ---):

Код: plaintext
1.
2.
3.
1,1234---qwer
2,34---aaaaa
3,нок56
2,xxxeder

Можно ли так сделать (без использования доп. полей в таблице)?
...
Рейтинг: 0 / 0
21.07.2014, 10:55:54
    #38701649
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка парами (GROUP_CONCAT)
xmlnsНа выходе должно быть (сепаратор это ---):

Код: plaintext
1.
2.
3.
1,1234---qwer
2,34---aaaaa
3,нок56
2,xxxeder
а почему не
idgroup_result11234---qwer234---xxxeder3нок562aaaaa
...
Рейтинг: 0 / 0
21.07.2014, 11:57:11
    #38701739
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка парами (GROUP_CONCAT)
Сорри за мой MS SQL... Но лениво нумеровать в MySQL

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
with myTable as (select * from( values
    (1,'1234'),
    (2,'34'),
    (1,'qwer'),
    (3,'нок56'),
    (2,'aaaaa'),
    (2,'xxxeder')
    )values_myTable(id,Value))
select id,concat(min(Value),'---'+nullif(max(value),min(value)))c2
from (
  select *, (row_number()over(partition by id order by value)-1)/2 g
  from myTable
  )g
group by id, g

idc211234---qwer234---aaaaa3нок562xxxeder
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Группировка парами (GROUP_CONCAT) / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]