GROUP BY 子句几乎总是出现在包括集合函数的语句中,在此情况下,集合会为每个组生成一个值。这些值被称作矢量集合。(标量集合是由不带 GROUP BY 子句的集合函数生成的单个值。)
以下查询列出了每一种产品的平均价格:
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 |
... | ... |
由带有集合和 GROUP BY 的 SELECT 语句所生成的矢量集合在每个结果行中都以列的形式出现。相比之下,由带有集合但不带 GROUP BY 的查询生成的标量集合也以列的形式出现,但只有一行。例如:
SELECT AVG( UnitPrice ) FROM Products; |
AVG(Products.UnitPrice) |
---|
13.3 |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |