Печать      Открыть версию интерактивной справки в формате PDF


Предыдущий раздел

Следующий раздел

Функции агрегирования

Функции агрегирования служат для получения сводных результатов и применяются к набору значений. Функции агрегирования нельзя использовать для создания вложенного агрегирования в выражениях по столбцам, для которых правило агрегирования по умолчанию автоматически определено Oracle CRM On Demand.

Avg

Вычисление среднего значения выражения в наборе результатов. Аргументом должно быть числовое выражение.

Синтаксис:

AVG (n_expression)

где:

n_expression

Выражение, результатом которого является числовое значение.

AvgDistinct

Вычисление среднего значения выражения без учета повторений. Аргументом должно быть числовое выражение.

Синтаксис:

AVG (DISTINCT n_expression)

где:

n_expression

Выражение, результатом которого является числовое значение.

BottomN

Ранжирование n наименьших значений выражения, которое служит аргументом, от 1 до n, где 1 соответствует наименьшему числовому значению. Функция BOTTOMN применяется к значениям, возвращенным в наборе результатов.

Синтаксис:

BOTTOMN (n_expression, n)

где:

n_expression

Выражение, результатом которого является числовое значение.

n

Положительное целое число. Указывает количество числовых значений, ранжированных в наборе результатов; 1 соответствует самому низкому рангу.

ПРИМЕЧАНИЕ. Запрос может содержать только одно выражение BOTTOMN.

Количество

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

Синтаксис:

COUNT (expression)

где:

выражение

Любое выражение.

CountDistinct

Эта функция аналогична функции COUNT, но обеспечивает подсчет только различных значений.

Синтаксис:

COUNT (DISTINCT expression)

где:

выражение

Любое выражение.

Count (*) (CountStar)

Подсчет количества строк.

Синтаксис:

COUNT(*)

Ниже приведен пример запроса и возвращаемого результата для случая, когда таблица с именем Facts содержит 200000000 строк.

SELECT COUNT(*) FROM Facts

COUNT(*)

200000000

Mavg

Вычисление скользящего среднего значения по последним n строкам данных, включая текущую строку.

Для первой строки это среднее значение равно значению числового выражения для первой строки, для второй строки оно вычисляется путем усреднения по первым двум строкам данных, для третьей строки - усреднения по первым трем строкам данных и т. п. По достижении n-й строки это среднее значение вычисляется по последним n строкам данных.

Синтаксис:

MAVG (numExpr, integer)

где:

numExpr

Выражение, результатом которого является числовое значение.

integer

Положительное целое число. Представляет среднее последних n строк данных.

Макс.

Вычисление максимального значения (наибольшего числового значения) строк, соответствующих числовому выражению, которое служит аргументом.

Синтаксис:

MAX (expression)

где:

выражение

Любое выражение.

Median

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

Синтаксис:

MEDIAN (n_expression)

где:

n_expression

Выражение, результатом которого является числовое значение.

Мин.

Вычисление минимального значения (наименьшего числового значения) строк, соответствующих числовому выражению, которое служит аргументом.

Синтаксис:

MIN (expression)

где:

выражение

Любое выражение.

NTile

Функция NTILE определяет ранг значения в пределах заданного пользователем диапазона. Она возвращает целые числа, представляющие диапазон рангов. Другими словами, результат запроса, представляющий собой упорядоченный набор данных, разбивается на заданное количество неперекрывающихся зон, содержащих приблизительно равное количество значений.

Синтаксис:

NTILE (n_expression, n)

где:

n_expression

Выражение, результатом которого является числовое значение.

n

Положительное (отличное от нуля) целое число, указывающее количество зон.

Функция возвращает целое число, указывающее ранг в пределах отчетного диапазона (кроме случаев, когда аргумент n_expression не определен).

При n=100 функция NTile возвращает так называемый процентиль (с ранжированием числовых значений от 1 до 100, где 100 соответствует верхней границе упорядоченного набора). Это значение отличается от результатов применения функции Oracle BI Server percentile, которая соответствует так называемому процентному рангу в SQL 92 и возвращает значения от 0 до 1.

Percentile

Вычисление процентного ранга для каждого значения числового выражения, которое служит аргументом. Процентный ранг находится в диапазоне от 0 (1-й процентиль) до 1 (100-й процентиль) включительно.

При применении функции PERCENTILE процентиль вычисляется по значениям в наборе результатов запроса.

Синтаксис:

PERCENTILE (n_expression)

где:

n_expression

Выражение, результатом которого является числовое значение.

Rank

Вычисление ранга для каждого значения числового выражения, которое служит аргументом. Ранг 1 присваивается наибольшему числу, а каждый следующий ранг - следующему числу в порядке убывания (2, 3, 4,...). Равным значениям присваивается один и то же ранг (например, 1, 1, 1, 4, 5, 5, 7...).

При применении функции RANK ранг вычисляется по значениям в наборе результатов запроса.

Синтаксис:

RANK (n_expression)

где:

n_expression

Выражение, результатом которого является числовое значение.

StdDev

Функция STDDEV возвращает стандартное отклонение для набора значений. Возвращаемое значение всегда является вещественным числом с двойной точностью.

Синтаксис:

STDDEV([ALL | DISTINCT] n_expression)

где:

n_expression

Выражение, результатом которого является числовое значение.

  • Если задан параметр ALL, стандартное отклонение вычисляется по всем данным в наборе.
  • Если задан параметр DISTINCT, при вычислении не учитываются повторяющиеся значения.
  • По умолчанию (если не задан ни один из этих параметров) учитываются все данные.

С функцией STDDEV связаны еще две функции:

STDDEV_POP([ALL | DISTINCT] n_expression)

STDDEV_SAMP([ALL | DISTINCT] n_expression)

STDDEV и STDDEV_SAMP являются синонимами.

StdDev_Pop

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

Синтаксис:

StdDev_Pop([ALL | DISTINCT] numExpr)

где:

numExpr

Выражение, результатом которого является числовое значение.

  • Если задан параметр ALL, стандартное отклонение вычисляется по всем данным в наборе.
  • Если задан параметр DISTINCT, при вычислении не учитываются повторяющиеся значения.

Сумма

Вычисление суммы всех значений числового выражения, которое служит аргументом.

Синтаксис:

SUM (n_expression)

где:

n_expression

Выражение, результатом которого является числовое значение.

SumDistinct

Вычисление суммы всех значений числового выражения, которое служит аргументом, без учета повторений.

Синтаксис:

SUM(DISTINCT n_expression)

где:

n_expression

Выражение, результатом которого является числовое значение.

TopN

Ранжирование n наибольших значений выражения, которое служит аргументом, от 1 до n, где 1 соответствует наибольшему числовому значению.

Функция TOPN применяется к значениям, возвращенным в наборе результатов.

Синтаксис:

TOPN (n_expression, n)

где:

n_expression

Выражение, результатом которого является числовое значение.

n

Положительное целое число. Указывает количество ранжированных значений, отображаемых в наборе результатов; 1 соответствует наивысшему рангу.

Запрос может содержать только одно выражение TOPN.


Опубликовано в Сентябрь 2017 Copyright © Oracle, 2005, 2017 гг. Все права защищены.Legal Notices.