列印      開啟 PDF 版的線上說明


上一個主題

下一個主題

彙總函數

彙總函數會針對多個值執行作業,以便建立摘要結果。若資料欄具有 Oracle CRM On Demand 預先定義的預設彙總規則,其運算式便不得使用彙總函數來構成巢狀彙總。

Avg

在結果集中計算運算式的平均 (平均值)。必須採用數字運算式當做其引數。

語法:

AVG (n_expression)

其中:

n_expression

評估為數值的任何運算式。

AvgDistinct

計算運算式之所有個別值的平均 (平均值)。必須採用數字運算式當做其引數。

語法:

AVG (DISTINCT n_expression)

其中:

n_expression

評估為數值的任何運算式。

BottomN

從 1 到 n 排列運算式引數中最低的 n 個值,1 對應至最低的數值。BOTTOMN 函數會針對結果集中傳回的值運作。

語法:

BOTTOMN (n_expression, n)

其中:

n_expression

評估為數值的任何運算式。

n

任何正整數。代表結果集中顯示的最低等級編號,1 即為最低的等級。

備註: 一個查詢只能包含一個 BOTTOMN 運算式。

Count

針對運算式計算具有非 Null 值的資料列數目。此運算式通常是資料欄名稱,而在此情況下,系統會針對該資料欄傳回具有非 Null 值的資料列數目。

語法:

COUNT (expression)

其中:

expression

任何運算式。

CountDistinct

將個別處理加入至 COUNT 函數。

語法:

COUNT (DISTINCT expression)

其中:

expression

任何運算式。

Count (*) (CountStar)

計算資料列的數目。

語法:

COUNT(*)

例如,如果名為 Facts 的資料表含有 200,000,000 個資料列,下列查詢就會傳回下列結果:

SELECT COUNT(*) FROM Facts

COUNT(*)

200000000

Mavg

針對最後 n 個資料列 (包括目前的資料列) 計算移動平均 (平均值)。

第一個資料列的平均值等於第一個資料列的數字運算式、第二個資料列的平均值是採用前兩個資料列的平均值所計算而得、第三個資料列的平均值是採用前三個資料列的平均值所計算而得,依此類推。到達到第 n 個資料列時,其平均值是根據最後 n 個資料列所計算而得。

語法:

MAVG (numExpr, integer)

其中:

numExpr

評估為數值的任何運算式。

integer

任何正整數。代表最後 n 個資料列的平均值。

Max

針對滿足數字運算式引數的資料列計算最大值 (最高的數值)。

語法:

MAX (expression)

其中:

expression

任何運算式。

Median

針對滿足數字運算式引數的資料列計算中位數 (中間值)。如果資料列的數目是偶數,此中位數即為兩個中間資料列的平均值。這個函數一律會傳回雙精準數。

語法:

MEDIAN (n_expression)

其中:

n_expression

評估為數值的任何運算式。

Min

針對滿足數字運算式引數的資料列計算最小值 (最低的數值)。

語法:

MIN (expression)

其中:

expression

任何運算式。

NTile

NTILE 函數會在使用者指定的範圍內,判斷某個值的等級。它會傳回整數來代表任何等級範圍。換言之,產生的排序資料集會分成一些區塊,而且每個區塊幾乎都有相同數目的值。

語法:

NTILE (n_expression, n)

其中:

n_expression

評估為數值的任何運算式。

n

代表區塊數目的非 Null 正整數。

如果 n_expression 引數不是 NULL,此函數就會傳回代表回報範圍內某個等級的整數。

n=100 的 NTile 會傳回通常稱為百分位數 的項目 (數字範圍從 1 到 100,而 100 代表排序的上限)。此值與 Oracle BI Server 百分位數函數的結果不同,後者遵循 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

將滿足數字運算式引數的所有值相加,計算所取得的總計。

語法:

SUM (n_expression)

其中:

n_expression

評估為數值的任何運算式。

SumDistinct

將滿足數字運算式引數的所有個別值相加,計算所取得的總計。

語法:

SUM(DISTINCT n_expression)

其中:

n_expression

評估為數值的任何運算式。

TopN

從 1 到 n 排列運算式引數中最高的 n 個值,1 對應至最高的數值。

TOPN 函數會針對結果集中傳回的值運作。

語法:

TOPN (n_expression, n)

其中:

n_expression

評估為數值的任何運算式。

n

任何正整數。代表結果集中顯示的最高等級編號,1 即為最高的等級。

一個查詢只能包含一個 TOPN 運算式。


2018年8月 Copyright © 2005, 2018, Oracle 及/或其關係機構。版權所有. Legal Notices.