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 子句中列出多个表达式—也就是说,可以通过表达式的任意组合对表进行分组。

以下查询列出了产品的平均价格,首先按名称分组,然后按尺寸分组:

SELECT Name, Size, AVG( UnitPrice )
   FROM Products
   GROUP BY Name, Size;
Name Size AVG(Products.UnitPrice)
Baseball Cap One size fits all 9.5
Sweatshirt Large 24
Tee Shirt Large 14
Tee Shirt One size fits all 14
... ... ...
GROUP BY 中的不位于选择列表中的列

Adaptive Server Enterprise 和 SQL Anywhere 均支持 Sybase 对 SQL/92 标准的一个扩充,即允许对不在选择列表中的 GROUP BY 子句使用表达式。例如,以下查询列出了每个城市中联系人的数目:

SELECT State, COUNT( ID )
   FROM Contacts
   GROUP BY State, City;