集合関数は、指定されたカラム中の値の要約を表示します。GROUP BY 句、HAVING 句、ORDER BY 句を使用すれば、集合関数を使用してクエリの結果をグループ化およびソートでき、UNION 演算子を使用すれば、クエリ結果を結合できます。
ORDER BY 句に定数が含まれている場合、それらの定数はオプティマイザによって解釈され、同義の ORDER BY 句に置き換えられます。たとえば、オプティマイザは ORDER BY 'a' を ORDER BY 式として解釈します。
クエリブロックに、有効な ORDER BY 句が指定された複数の集合関数が含まれているとき、それらの ORDER BY 句を単一の ORDER BY 句に論理的に結合できる場合は、そのクエリブロックを実行できます。たとえば、次の ORDER BY 句の場合は、
ORDER BY expression1, 'a', expression2 |
ORDER BY expression1, 'b', expression2, 'c', expression3 |
次の ORDER BY 句として結合されます。
ORDER BY expression1, expression2, expression3 |
テーブル内のすべてのロー、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; |
集合関数を使用できる場所
集合関数とデータ型
COUNT(*)
DISTINCT を伴う集合関数
集合関数と NULL
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |