Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2013, 17:09   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Вопрос Проблема с Group by в postgresql

Здравствуйте, имеется следующий запрос:
Код:
SELECT c.* FROM "m_call_tasks" AS "c" LEFT JOIN "m_info" AS "i" ON i.user_id = c.user_id WHERE c.group_id IN (0,1,2,3,4) GROUP BY i.user_id OFFSET 0 LIMIT 25
В результате получаю:
SQL Error: ERROR: column "c.id" must appear in the GROUP BY clause or be used in an aggregate function.

Первый вариант с вставкой "c.id" в group by не помогает т.к. меняется суть запроса
В mysql такой запрос без проблем сработает но вот в postgres - нет.
Alex1991 вне форума Ответить с цитированием
Старый 15.08.2013, 23:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно пишет. Если не ошибаюсь далеко не каждая СУБД не поддерживает * в списке полей, если в запросе указано правило Group By.
Придется тебе описывать каждое поле и в списке полей и в правиле группировки.
Кстати в группировке можно указывать номера полей: Group By 1,2,3,4,5 и т.д. по колву полей в списке Select
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
group by ts-alan C# (си шарп) 4 24.04.2013 16:33
group by ts-alan C# (си шарп) 2 21.03.2013 21:22
Group by and Having Progsenya SQL, базы данных 1 19.02.2011 19:18
GROUP BY Syltan SQL, базы данных 1 03.11.2009 13:39