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

Posted 乱来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9mysql分组查询-----group by 和 having相关的知识,希望对你有一定的参考价值。

   举例说明:有 Store_Information 

  

  之前我们根据这个表,用函数可以算出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

 

        结果为:

        

 

 

         从上面的结果,我们可以看到,依据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

      

      结果为:

      

 

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

以上是关于9mysql分组查询-----group by 和 having的主要内容,如果未能解决你的问题,请参考以下文章

【MySQL】分组查询(GROUP BY)

[Mysql 查询语句]——分组查询group by

八分组查询详解(group by & having)

如何使用group by 分组查询表中所有字段信息

group by两个分组字段的查询

SQL group by分组查询