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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更 » クエリ結果の要約、グループ化、ソート » GROUP BY 句:クエリ結果のグループへの編成

 

集合関数に伴う GROUP BY の使用

集合関数を含む文には、GROUP BY 句がほとんど常に使用されます。その場合、集合関数はグループごとに 1 つの値を生成します。これらの値は「ベクトル集約値」と呼ばれます。これに対して、「スカラ集約値」は、GROUP BY 句を使用しない集合関数によって生成される 1 つの値です。

次のクエリは、製品の種類別に平均価格をリストします。

SELECT Name, AVG( UnitPrice ) AS Price
   FROM Products
   GROUP BY Name;
Name Price
Tee Shirt 12.333333333
Baseball Cap 9.5
Visor 7
Sweatshirt 24
... ...

集合関数と 1 つの GROUP BY 句を持つ SELECT 文が生成するベクトル集約値は、結果の各ローにカラムとして表示されます。それとは対照的に、集合関数があって GROUP BY 句がないクエリが生成するスカラ集約値は、カラムとして表示されますが、ローは 1 つだけです。次に例を示します。

SELECT AVG( UnitPrice )
   FROM Products;
AVG(Products.UnitPrice)
13.3