GROUP BY 子句将表的输出划分为若干个组。可以按一个或多个列名或者按计算列的结果将行分组。
如果 WHERE 子句和 GROUP BY 子句都存在,则 WHERE 子句必须在 GROUP BY 子句之前。GROUP BY 子句(如果存在)必须始终在 HAVING 子句之前。如果指定了 HAVING 子句,但未指定 GROUP BY 子句,则假定已经使用了一个 GROUP BY () 子句。
可以在一个查询中同时使用 HAVING 子句和 WHERE 子句。只有在构造了组之后,HAVING 子句中的条件才会在逻辑上限制结果行。WHERE 子句中的条件在构造组之前进行逻辑计算,这样可以节约时间。
当查询涉及 GROUP BY 子句时,很难了解哪些查询有效哪些查询无效。本节介绍如何对含有 GROUP BY 的查询进行分析,以便可以更好地理解查询的结果和有效性。
具有 GROUP BY 的查询是如何执行的
使用具有多个列的 GROUP BY
WHERE 子句和 GROUP BY
将 GROUP BY 与集合函数一起使用
GROUP BY 和 SQL/2008 标准
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |