スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
集合関数をSQL中に指定すれば,平均値,合計値,最大値,最小値,及び行数の算出,並びにXML型の値の結合ができます。
XMLAGG集合関数の詳細については,「1.15.5(1) XMLAGG」を参照してください。
集合関数の機能を次の表に示します。
表2-24 集合関数の機能
項 目 | 集合関数 | ||||||
---|---|---|---|---|---|---|---|
AVG | SUM | MAX | MIN | COUNT | COUNT_FLOAT | XMLAGG | |
機能 | 平均値の算出 | 合計値の算出 | 最大値の算出 | 最小値の算出 | 行数の算出 | 行数の算出 | XML型の値の結合 |
ナル値の扱い | 無視 | 無視 | 無視 | 無視 | 無視※1 | 無視※1 | 無視 |
DISTINCT指定の意味 | 指定した値式の中で,値が重複する行を除いた後の平均値 | 指定した値式の中で,値が重複する行を除いた後の合計値 | 指定しても意味がない | 指定しても意味がない | 指定した値式の中で,値が重複する行を除いた行数 | 指定した値式の中で,値が重複する行を除いた行数 | 指定できません |
適用対象が0件※3,又はナル値だけの集合の場合の関数値 | ナル値 | ナル値 | ナル値 | ナル値 | 0 | 0 | ナル値 |
引数中での繰返し列の指定可否※2 | 指定できません | 指定できません | 指定できます | 指定できます | 指定できません | 指定できません | 指定できません |
列のデータ型と集合関数の値のデータ型の関係を次の表に示します。
表2-25 列のデータ型と集合関数の値のデータ型の関係
集合関数の引数の データ型 |
AVG | SUM | MAX及びMIN | COUNT | COUNT_FLOAT | XMLAGG |
---|---|---|---|---|---|---|
INTEGER | INTEGER | INTEGER | INTEGER | INTEGER | FLOAT | × |
SMALLINT | INTEGER | INTEGER | SMALLINT | INTEGER | FLOAT | × |
DECIMAL(p,s) | DECIMAL(max_prec※3,max_prec※3−p+s) | DECIMAL(max_prec※3,s) | DECIMAL(p,s) | INTEGER | FLOAT | × |
FLOAT | FLOAT | FLOAT | FLOAT | INTEGER | FLOAT | × |
SMALLFLT | SMALLFLT | SMALLFLT | SMALLFLT | INTEGER | FLOAT | × |
INTERVAL YEAR TO DAY | × | × | INTERVAL YEAR TO DAY | INTEGER | FLOAT | × |
INTERVAL HOUR TO SECOND | × | × | INTERVAL HOUR TO SECOND | INTEGER | FLOAT | × |
CHAR(n) | × | × | CHAR(n) ※1 | INTEGER | FLOAT | × |
VARCHAR(n) | × | × | VARCHAR(n) ※1 | INTEGER | FLOAT | × |
NCHAR(n) | × | × | NCHAR(n) | INTEGER | FLOAT | × |
NVARCHAR(n) | × | × | NVARCHAR(n) | INTEGER | FLOAT | × |
MCHAR(n) | × | × | MCHAR(n) | INTEGER | FLOAT | × |
MVARCHAR(n) | × | × | MVARCHAR(n) | INTEGER | FLOAT | × |
DATE | × | × | DATE | INTEGER | FLOAT | × |
TIME | × | × | TIME | INTEGER | FLOAT | × |
TIMESTAMP | × | × | TIMESTAMP | INTEGER | FLOAT | × |
BINARY(n)※2 | × | × | BINARY(n) | INTEGER | FLOAT | × |
BLOB(n) | × | × | × | × | × | × |
BOOLEAN | × | × | × | × | × | × |
XML | × | × | × | × | × | XML |
抽象データ型(XML型を除く) | × | × | × | × | × | × |
表2-26 DECIMAL型の精度の最大値
システム共通定義pd_sql_dec_op_maxprecオペランド | 集合関数の引数の精度p | max_precの値 |
---|---|---|
29又は省略 | p≦29 | 29 |
p>29 | 38 | |
38 | 任意 | 38 |
集合関数::={COUNT(*)|COUNT_FLOAT(*)|ALL集合関数|DISTINCT集合関数|XMLAGG集合関数} ALL集合関数::={AVG|SUM|MAX|MIN|COUNT|COUNT_FLOAT}(〔ALL〕{値式|FLAT指定}) DISTINCT集合関数::={AVG|SUM|MAX|MIN|COUNT|COUNT_FLOAT}(DISTINCT {値式|FLAT指定}) FLAT指定::=FLAT(列指定) |
XMLAGG集合関数の形式については,「1.15.5(1) XMLAGG」を参照してください。
SELECT AVG(ZSURYO) FROM ZAIKO
SELECT N'スカート',SUM(ZSURYO) FROM ZAIKO WHERE SNAME = N'スカート'
SELECT SUM(TANKA * ZSURYO) FROM ZAIKO
SELECT COUNT(*),MAX(ZSURYO),MIN(ZSURYO) FROM ZAIKO
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.