当你使用WHERE语句过滤数据时,结果分组中只显示你指定的那些记录,而符合分组定义但是不满足过滤条件的数据不会包含在某个分组中。当你想在分组中包含所有数据时添加关键字ALL即可,这时WHERE条件就不起作用。例如,在前面的例子中添加关键字ALL就会返回所有的ZIP分组,而不是仅在肯塔基州的那些。  

SELECT ZIP FROM CustomersWHEREState = ''KY'' GROUP BY ALL ZIP

     这样看来,这两个语句存在冲突,你可能不会以这种方式使用关键字ALL。当你使用聚合函数计算某一列时,使用ALL关键字可能会很方便。例如,下面的语句计算每个肯塔基州ZIP中的顾客数,同时,还会显示其它的ZIP值。 

SELECT ZIP, Count(ZIP) AS KYCustomersByZIP FROM
            CustomersWHEREState = ''KY'' GROUP BY ALL ZIP

结果分组包括潜在数据中的所有ZIP值,然而,对于那些不是肯塔基州ZIP分组的聚合列(KYCustomersByZIP)将会显示0。远程查询不支持GROUP BY ALL。

http://www.qudong.com/soft/program/Sql%20Server/jiqiaoyunyong/20080318/1787_2.html

 

posted on 2008-11-22 12:26  恩恩爸爸  阅读(5803)  评论(0)    收藏  举报