在group by 中使用HAVING筛选结果


 查询所有价格超过10美元的书的种类和平均价格。

        use   pubs
        go
        select   type , avg(price) 'avg_price'  from    titles  where   price>$10   group   by   type
        go

        查询结果如下:

        Type                    avg_price
         ------------ ------------------
        Business                17.3100
        mod_cook           19.9900
        popular_comp 21.4750
        Psychology          17.5100
        trad_cook          15.9633

          (所影响的行数为 5 行)

        在所有价格超过10美元的书中,查询所有平均价格超过18美元的书的种类和平均价格。

        use pubs
        go
        select  type , avg(price) 'avg_price' from  titles where  price>10 group   by  type having  avg(price)>$18
        go

        查询的结果是:

        Type                                avg_price
        ------------ ---------------------
        mod_cook                       19.9900
        popular_comp       21.4750

        (所影响的行数为 2 行)

        WHERE子句在求平均值之前从表中选择所需要的行,HAVING子句在进行统计计算后产生的结果中选择所需要的行

        指定组或聚合的搜索条件。HAVING 通常与 GROUP BY 子句一起使用。如果不使用 GROUP BY 子句,HAVING 的行为与 WHERE 子句一样。

        语法:   [HAVING <search_condition>]

        参数:    <search_condition>: 指定组或聚合应满足的搜索条件。当 HAVING 与 GROUP BY ALL 一起使用时,HAVING 子句替代 ALL。 在 HAVING 子句中不能使用 text、image 和 ntext 数据类型

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3