mysql - 分组group by、having

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之前

 

posted on 2016-02-22 21:35  MAY'S  阅读(182)  评论(0编辑  收藏  举报