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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » データの問い合わせと修正 » クエリ

 

クエリの集合関数

一部のクエリでは、テーブル内の、個々のローではなくローグループのプロパティを反映するデータの内容を検査します。たとえば、顧客が注文した総額の平均値や、各部門で何人の従業員が仕事をしているかなどです。この種のタスクには、「集合」関数と 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 句の組み合わせ