powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сумма сзначений в запросе
5 сообщений из 5, страница 1 из 1
Сумма сзначений в запросе
    #35757695
R4z0R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть запрос
Код: plaintext
select distinct usr as usr, sum(sum_byte) as summ, sum(sum_time) as sum_time from internet_m where date_part('year', dat) ='2008' and date_part('month',dat)='12' group by  1  order by  2  desc;
нужно добавить ещё проверку на сумму байт за период and sum(sum_byte) > '100000000' но если я добавляю это условие в запрос - ошибка, как правильно написать?
...
Рейтинг: 0 / 0
Сумма сзначений в запросе
    #35757725
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R4z0R пишет:

> нужно добавить ещё проверку на сумму байт за период *and sum(sum_byte) >
> '100000000'* но если я добавляю это условие в запрос - ошибка, как
> правильно написать?

Условия с агрегатами надо записывать во фразе HAVING.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сумма сзначений в запросе
    #35757771
R4z0R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как я понимаю - нужно в конце запроса дописать HAVING sum(sum_byte) > '100000000'
Код: plaintext
select distinct usr as usr, sum(sum_byte) as summ, sum(sum_time) as sum_time from internet_m where date_part('year', dat) ='2008' and date_part('month',dat)='12'  group by  1  order by  2  desc HAVING sum(sum_byte) > '100000000' ;
но тогда ругается на синтаксис
авторERROR: syntax error ? ??? ????? "HAVING"
SQL state: 42601
Характеристика:189
...
Рейтинг: 0 / 0
Сумма сзначений в запросе
    #35757841
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
seb=> \h select
Команда:   SELECT
Описание:  извлечь записи из таблицы или представления
Синтаксис:
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
    * | expression [ AS output_name ] [, ...]
    [ FROM from_item [, ...] ]
    [ WHERE condition ]
    [ GROUP BY expression [, ...] ]
    [ HAVING condition [, ...] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
    [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]
    [ LIMIT { count | ALL } ]
    [ OFFSET start ]
    [ FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] [...] ]
. . .

having пишется после group by и ПЕРЕД order by, а не "в конце запроса"


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
Сумма сзначений в запросе
    #35758068
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R4z0R пишет:
HAVING sum(sum_byte) > '100000000' ;

'100000000' - это строка. Должно быть наверное число, да ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сумма сзначений в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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