集合関数を含む文には、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 |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |