Агрегатные функции RQL для работы с объектами доменов

Агрегатные функции в RQL позволяют проводить расчеты над множествами значений. Их ключевая особенность — это возможность обработать информацию, полученную из различных строк данных.

Все значения NULL пропускаются и не участвуют в агрегации.

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

Ознакомиться с полным списком функций и их поведением можно в официальной документации PostgreSQL.

Обратите внимание, что для функций в официальной документации PostgreSQL может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии PostgreSQL.

Подсчет количества значений (count())

Функция count(<expression>) используется для подсчета количества значений, которые возвращает указанное выражение.

Синтаксис
count(<expression>)
Пример
SELECT(count(id), FROM('current', @some_linkage, @link), WHERE(eq(@link.side1, @doc.id))) = 0

В этом выражении выбираются связи, в которых на стороне 1 находится текущий объект. Количество их идентификаторов подсчитывается и сравнивается с нулем.

Использование count(*) в RQL невозможно. Следует указывать конкретный идентификатор поля, например count(id).

Была ли полезна эта страница?

Обратная связь