powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / must appear in the GROUP BY clause or be used in an aggregate function
9 сообщений из 9, страница 1 из 1
must appear in the GROUP BY clause or be used in an aggregate function
    #39390038
good32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток. Не подскажите что я делаю не так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT
    emp.id,
    sum(rep.time_col)
    
FROM report rep

    LEFT OUTER JOIN
      employee emp ON rep.e_id = emp.id
    
WHERE rep.e_id = 32


ERROR:  column "emp.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 2:     emp.id,
            ^
...
Рейтинг: 0 / 0
must appear in the GROUP BY clause or be used in an aggregate function
    #39390075
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
good32,

Некорректно пользуетесь группирующей функцией, ошибка содержит всю необходимую информацию.
Почитайте про группирующие запросы и то, как они меняют выборку.

P.S. Вы раньше с MySQL-ом работали, да?..
...
Рейтинг: 0 / 0
must appear in the GROUP BY clause or be used in an aggregate function
    #39390095
good32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorov,
верно, синтаксис PostgreSQL отличается от MySQL-а
...
Рейтинг: 0 / 0
must appear in the GROUP BY clause or be used in an aggregate function
    #39390232
good32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovgood32,

Некорректно пользуетесь группирующей функцией, ошибка содержит всю необходимую информацию.
Почитайте про группирующие запросы и то, как они меняют выборку.

P.S. Вы раньше с MySQL-ом работали, да?..

Как быть если в выборке присутствует больше коллонок?
...
Рейтинг: 0 / 0
must appear in the GROUP BY clause or be used in an aggregate function
    #39390273
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
good32,

Я уже сказал, почитайте про группировки:
- http://stackoverflow.com/a/10398558/1154462
- http://stackoverflow.com/a/1777448/1154462

Поведение MySQL неверно (от слова совсем) и потому вы не сможете добиться аналогии.

Можно пробовать использовать агрегатные функции как оконные: https://www.postgresql.org/docs/current/static/tutorial-window.html
...
Рейтинг: 0 / 0
must appear in the GROUP BY clause or be used in an aggregate function
    #39390782
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT
    emp.id,
    sum(rep.time_col)
FROM report rep
    LEFT OUTER JOIN
      employee emp ON rep.e_id = emp.id
WHERE rep.e_id = 32
GROUP BY emp.id


https://www.postgresql.org/docs/9.6/static/queries-table-expressions.html#QUERIES-GROUP
...
Рейтинг: 0 / 0
must appear in the GROUP BY clause or be used in an aggregate function
    #39390841
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
good32vyegorov,
верно, синтаксис PostgreSQL отличается от MySQL-а

это не синтаксис PostgreSQL отличается от MySQL-а, а синтаксис MySQL-а отличается от SQL, да и не только синтаксис.
...
Рейтинг: 0 / 0
must appear in the GROUP BY clause or be used in an aggregate function
    #39391277
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы лучше написал так, а то у вас все равно криво
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT
    emp.id,
    sum(rep.time_col)
    
FROM employee emp 

    LEFT OUTER JOIN
      report rep ON rep.e_id = emp.id
    
WHERE emp.id = 32
...
Рейтинг: 0 / 0
must appear in the GROUP BY clause or be used in an aggregate function
    #39391278
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ группировка-)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / must appear in the GROUP BY clause or be used in an aggregate function
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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