Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » クエリとデータ修正 » クエリ結果の要約、グループ化、ソート

 

クエリ結果を要約する集合関数

集合関数は、指定されたカラム中の値の要約を表示します。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