一部のクエリでは、テーブル内の、個々のローではなくローグループのプロパティを反映するデータの内容を検査します。たとえば、顧客が注文した総額の平均値や、各部門で何人の従業員が仕事をしているかなどです。この種のタスクには、「集合」関数と GROUP BY 句を使用します。
Interactive SQL で次のクエリを実行します。
SELECT COUNT( * ) FROM Employees; |
COUNT() |
---|
75 |
この結果セットは、タイトル COUNT(*) を持つ 1 つのカラムと、従業員の合計数が入った 1 つのローで構成されています。
Interactive SQL で次のクエリを実行します。
SELECT COUNT( * ), MIN( BirthDate ), MAX( BirthDate ) FROM Employees; |
COUNT() | MIN(Employees.BirthDate) | MAX(Employees.BirthDate) |
---|---|---|
75 | 1936-01-02 | 1973-01-18 |
関数 COUNT、MIN、MAX は「集合関数」と呼ばれます。この 3 つの関数は、それぞれ情報を要約します。その他の集合関数として、AVG、STDDEV、VARIANCE などの統計関数があります。COUNT 以外のすべての集合関数では、パラメーターが必要です。
集合関数は、一連のローについて単一の値を返します。GROUP BY 句がない場合、集合関数は「スカラー集合関数」と呼ばれ、クエリの他の条件を満たすすべてのローについて、単一の値を返します。GROUP BY 句がある場合、集合関数は「ベクトル集合関数」と呼ばれ、グループごとに 1 つの値を返します。
SQL Anywhere は、OLAP 関数と呼ばれることもある分析用の追加の集合関数をサポートしています。それらの関数のいくつかは Window 関数として使用されます。これには、RANK、PERCENT_RANK、CUME_DIST、ROW_NUMBER、線形回帰分析をサポートするための関数があります。
グループ分けされたデータに対する集合関数の適用
グループの制限
WHERE 句と HAVING 句の組み合わせ
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |