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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конструирование фильтра при помощи group by, Объединение значений столбцов 
:(
    Опции темы
krausen
Дата 30.12.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Такой вопрос как при группировке данных получить значения полей
max получает максимальное значение
avg среднее
а как получить сами значения



Пример
id type

5 Яды
5 Химикаты
6 Соли
6 Яды


хочется что то типа select id, objedinenie(type) from table group by id

которое выдаст
5 Яды,Химикаты


Просто делаю фильтр и пытаюсь найти все товары принадлежащие сразу двум группам
делал при помомщи select id from table group by id where type in ('Яды','Химикаты')
однако этот запрос выводит id принадлежащий либо ядам либо химикатам ... а мне нужны записи у которых установлен и Яд и Химикат
PM MAIL   Вверх
Illuminaty
Дата 30.12.2005, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

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



если повторений только 2, то просто:
Код

select a.id, a.type,  b.type from `table` a, `table` b where a.id = b.id

если же одному id соответствует произвольное количество типов, то ... пока не знаю
PM MAIL ICQ   Вверх
Бонифаций
Дата 30.12.2005, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Посмотрите в документации функцию group_concat


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
Illuminaty
Дата 30.12.2005, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

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



Бонифаций, лови +
PM MAIL ICQ   Вверх
krausen
Дата 30.12.2005, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Груп конкат работает только в mysql начиная с версии 4.1

задачу фильтра товаров принадлежащих нескольким группам решил просто сосчитав количеством требуемых совпадений

Код

select id from table where type in ("Яды","Химикаты") group by id having count(table.id)=2 


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


 




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


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

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