mysql - 分组group byhaving

Posted

tags:

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

1. 分组:group by语句

group by必须跟在where子句里的条件之后,在order by之前(如果有的话),如下:

select column1, column2

from table1, table2

where conditions

group by column1, column2

order by column1, column2

1)被选中的字段(查询中select了的字段,如column1,column2)才能而且必须要出现在group by子句中,除了汇总函数;如果字段在select里面找不到,就不能用于group by子句。这是合乎逻辑的-如果数据不显示,如何对其分组呢。

2)group by子句里面的字段次序不比与select子句里面的相同,分组是平等的,跟次序无关。

 

2.HAVING子句

having子句在select与group by联合使用时,用于告诉group by在输出里应当包含哪些分组。having对于group by的作用相当于where对于select的作用。因此,使用having子句可以让结果包含或者是去除整组的数据。

having必须跟在group by之后,order by之前

 

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

mysql之聚合函数group byhaving

order bygroup byhaving的区别

简单 left joininner joingroup byhaving in

【MySQL】分组查询(GROUP BY)

MySQL数据库:group分组

mysql group by 分组及having 过滤分组