集計関数

ORACLEの集計関数のリファレンスです。

※当ページにおいて、検索結果イメージの半角スペースは【_】、NULLは【NULL】と表現しています。

AVG

文法
AVG(引数1[数値型])

戻り値
数値型

説明
引数1の平均値を戻す
NULLは計算の対象外、全てがNULLの場合はNULLを戻す

-- 元テーブル
A         B     C
----- ----- -----
ABC       1  NULL
ABC       3  NULL
DEF       8  NULL
DEF    NULL  NULL

-- グループ化なし
SELECT AVG(b) func1
      ,AVG(c) func2
FROM   test_table
;

FUNC1 FUNC2
----- -----
    4  NULL

-- グループ化あり
SELECT a
      ,AVG(b) func1
      ,AVG(c) func2
FROM   test_table
GROUP BY a
;

A     FUNC1 FUNC2
----- ----- -----
ABC       2  NULL
DEF       8  NULL

COUNT

文法
COUNT(引数1)

戻り値
数値型

説明
引数1のNULL以外のデータ数を戻す
COUNT(*)は行数を戻す

-- 元テーブル
A         B     C
----- ----- -----
ABC       1  NULL
ABC       3  NULL
DEF       8  NULL
DEF    NULL  NULL

-- グループ化なし
SELECT COUNT(b) func1
      ,COUNT(c) func2
      ,COUNT(*) func3
FROM   test_table
;

FUNC1 FUNC2 FUNC3
----- ----- -----
    3     0     4

-- グループ化あり
SELECT a
      ,COUNT(b) func1
      ,COUNT(c) func2
      ,COUNT(*) func3
FROM   test_table
GROUP BY a
;

A     FUNC1 FUNC2 FUNC3
----- ----- ----- -----
ABC       2     0     2
DEF       1     0     2

MAX

文法
MAX(引数1)

戻り値
引数1で指定した型

説明
引数1の最大値を戻す
NULLは計算の対象外、全てがNULLの場合はNULLを戻す

-- 元テーブル
A         B     C
----- ----- -----
ABC       1  NULL
ABC       3  NULL
DEF       8  NULL
DEF    NULL  NULL

-- グループ化なし
SELECT MAX(b) func1
      ,MAX(c) func2
FROM   test_table
;

FUNC1 FUNC2
----- -----
    8  NULL

-- グループ化あり
SELECT a
      ,MAX(b) func1
      ,MAX(c) func2
FROM   test_table
GROUP BY a
;

A     FUNC1 FUNC2
----- ----- -----
ABC       3  NULL
DEF       8  NULL

MEDIAN

文法
MEDIAN(引数1)
※引数1は数値型か日付型

戻り値
引数1で指定した型

説明
引数1の中央値を戻す
NULLは計算の対象外、全てがNULLの場合はNULLを戻す
計算対象が偶数の場合は、中央対象の2値の平均値を戻す

-- 元テーブル
A         B     C
----- ----- -----
ABC       1  NULL
ABC       3  NULL
DEF       8  NULL
DEF    NULL  NULL

-- グループ化なし
SELECT MEDIAN(b) func1
      ,MEDIAN(c) func2
FROM   test_table
;

FUNC1 FUNC2
----- -----
    3  NULL

-- グループ化あり
SELECT a
      ,MEDIAN(b) func1
      ,MEDIAN(c) func2
FROM   test_table
GROUP BY a
;

A     FUNC1 FUNC2
----- ----- -----
ABC       2  NULL
DEF       8  NULL

MIN

文法
MIN(引数1)

戻り値
引数1で指定した型

説明
引数1の最小値を戻す
NULLは計算の対象外、全てがNULLの場合はNULLを戻す

-- 元テーブル
A         B     C
----- ----- -----
ABC       1  NULL
ABC       3  NULL
DEF       8  NULL
DEF    NULL  NULL

-- グループ化なし
SELECT MIN(b) func1
      ,MIN(c) func2
FROM   test_table
;

FUNC1 FUNC2
----- -----
    1  NULL

-- グループ化あり
SELECT a
      ,MIN(b) func1
      ,MIN(c) func2
FROM   test_table
GROUP BY a
;

A     FUNC1 FUNC2
----- ----- -----
ABC       1  NULL
DEF       8  NULL

SUM

文法
SUM(引数1[数値型])

戻り値
数値型

説明
引数1の合計値を戻す
NULLは計算の対象外、全てがNULLの場合はNULLを戻す

-- 元テーブル
A         B     C
----- ----- -----
ABC       1  NULL
ABC       3  NULL
DEF       8  NULL
DEF    NULL  NULL

-- グループ化なし
SELECT SUM(b) func1
      ,SUM(c) func2
FROM   test_table
;

FUNC1 FUNC2
----- -----
   12  NULL

-- グループ化あり
SELECT a
      ,SUM(b) func1
      ,SUM(c) func2
FROM   test_table
GROUP BY a
;

A     FUNC1 FUNC2
----- ----- -----
ABC       4  NULL
DEF       8  NULL
タイトルとURLをコピーしました