集合関数は、指定されたカラム中の値の要約を表示します。GROUP BY 句、HAVING 句、ORDER BY 句を使用すれば、集合関数を使用してクエリの結果をグループ化およびソートでき、UNION 演算子を使用すれば、クエリ結果を結合できます。
テーブル内のすべてのロー、WHERE 句によって指定されるテーブルのサブセット、またはテーブル内の 1 つ以上のロー・グループに、集合関数を適用できます。集合関数を適用するそれぞれのロー・セットから、SQL Anywhere が単一の値を生成します。
サポートされる集合関数の一部を次に示します。
avg( expression ) 返されたローについて提供された式の平均。
count( expression ) 提供されたグループで、式が NOT NULL のロー数。
count(*) 各グループの中のロー数。
list( string-expr) 各ロー・グループの中の string-expr に対するすべての値で構成されている、カンマで区切られたリストを含む文字列。
max( expression ) 返されたローの最大値。
min( expression ) 返されたローの最小値。
stddev( expression ) 返されたローの標準偏差。
sum( expression ) 返されたローの合計。
variance( expression ) 返されたローについての式の分散。
集合関数の完全なリストについては、集合関数を参照してください。
AVG、SUM、LIST、COUNT とともにオプションのキーワード、DISTINCT を使用して、重複した値を削除してから、集合関数を適用できます。
構文が参照する式は、通常はカラム名です。より一般的な式の場合もあります。
たとえば、次の文を使用して、単価に 1 ドル加算した場合の、全製品の平均価格を調べることができます。
SELECT AVG ( UnitPrice + 1 ) FROM Products; |
次のクエリは、Employees テーブルの中の年俸から、支払い給料の総額を計算します。
SELECT SUM( Salary ) FROM Employees; |
集合関数を使用するには、関数名を入力し、その後ろに式を続けます。この式の値に対して、関数が作用します。この式 (この例では Salary カラム) はその関数の引数であり、カッコ内に指定します。
集合関数を使用できる場所
集合関数とデータ型
COUNT(*) の使用
DISTINCT を伴う集合関数の使用
集合関数と NULL
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |