9、mysql分组查询-----group by 和 having

 举例说明:有 Store_Information 

9、mysql分组查询-----group   by   和   having

之前我们根据这个表,用函数可以算出sales的总和,平均数等

如果现在我们需要算出每一间店(store_name)的销售总额(sales)呢?

比如:

  1、los angeles     销售额加起来是    18000

     san  diego     销售额加起来是      250

这时候我们就需要用到了 group   by语句了

1、group   by

  语法:

  select    栏位名1,栏位名2   from   表格名   group   by   栏位1

  说明:

  1、by  后面的栏位1,说明是依据栏位1的进行分组,如果有重复的则合并到一组数据中

  举例说明

  1、根据store_name 来进行分组,算出每个 store_name(店铺) 的sales(销售额)总和

    

      select  store_name,sum(sales)  from  Store_Information  GROUP BY  store_name

      结果为:

      9、mysql分组查询-----group   by   和   having

         从上面的结果,我们可以看到,依据store_name   算出了  sales 的总和

  2、依据上面的结果,我们如果想筛选出store_name  等于 los  angeles 的数据呢?加where  ?

   这时候,又涉及到了一个语句    having     

       

2、having

  语句: 

    select    栏位名1,栏位名2   from   表格名   group   by   栏位1   having   函数条件

  作用:

    where  关键字无法与函数一起使用,所以就有了having  子句

 

  举例说明:

  回答上面那个问题2。。

    

    select   store_name,sum(sales)   from   Store_Information   GROUP  BY  store_name  HAVING  SUM(sales)>1500

    

    结果为:

    9、mysql分组查询-----group   by   和   having

       having  后面  加了条件  sum(sales) > 1500   

相关推荐