Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Данные из стобцов в строку 
:(
    Опции темы
bawukr
Дата 14.6.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 4.8.2006

Репутация: нет
Всего: нет



Подскажите пожалуйста.

Есть такая проблема, необходимо результат работы запроса такого вида

SELECT id FROM test WHERE x = 1

Вывести сразу в виде строки.
Т.е. что бы результат был НЕ:
1
2
4
6

А что бы в одной ячейке было (через разделитель) : 1,2,4,6
PM MAIL   Вверх
skyboy
Дата 14.6.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



по идее, должно хватить следующей конструкции с использованием group_concat:
Код

SELECT group_concat(id) FROM test WHERE x = 1

Обращу внимание: функция агрегирующая(как и count, sum или avg), то есть в запросе более сложном, чем select ... from ... where надо бы ещё поле, значения которого соединяются, явно прописывать в секции "Group By".
Примечание: по умолчанию, group_concat вернет максимум 1 Кб символов. За максимальную длину отвечает системная переменная group_concat_max_len. Если есть необходимость в неограниченных объединениях, надо установить эту переменную в 0.
вот так:
Код

SET [SESSION|GLOBAL] group_concat_max_len = 0;

Директивы Session или Global необязательны.

Добавлено через 2 минуты и 8 секунд
Цитата(skyboy @  14.6.2007,  17:19 Найти цитируемый пост)
За максимальную длину отвечает системная переменная group_concat_max_len.

не совсем верно. Если установить значение этой переменной выше значения другой системной переменной(которая уже только для чтения и не меняется в течение сеанса) - max_allowed_packet, то никакого влияния на данные это уже не окажется - нельзя, как я понял, "собрать" строку длиною более, чем max_allowed_packet.
PM MAIL   Вверх
bawukr
Дата 14.6.2007, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 4.8.2006

Репутация: нет
Всего: нет



суппер! работает... спасибо ;)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.