美文网首页
必知必会-第十三章

必知必会-第十三章

作者: 转身丶即天涯 | 来源:发表于2018-01-23 01:17 被阅读8次

    分组数据

    本章介绍如何分组数据,两个关键字GROUP BY和HAVING。

    分组的作用

    分组允许把数据分为多个逻辑组,以便对每个逻辑组进行聚集计算。

    分组的规定

    在使用group by之前,需要知道一些规定:

    • GROUP BY子句任意数据的列,这意味着可以对分组进行嵌套,为数据分组提供更细致的控制。
    • 如果在GROUP BY子句中嵌套了分组,数据将在最后规定的分组上进行汇总。换句话说,在建立分组时,指定的所有列都在一起计算(所以不能从个别列取回数据)。
    • GROUP BY子句列出的每个列都必须是检索列或者有效的表达式(但不能是聚集函数)。如果在SELECT中使用表达式,则必须在GROUP BY子句中指定相同的表达式。不能使用别名。
    • 除了聚集计算语句之外,SELECT语句中的每个列都必须在GROUP BY子句中给出。
    • 如果分组列中具有NULL值,则NULL将作为一个分组返回。如果列中有多行NULL值,它们将分为一组。
    • GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前。

    以上是书中的提示,我现在也是云里雾里,一会实践操作一下应该就懂了。

    过滤分组

    mysql允许用GROUP BY进行分组,而且还允许过滤分组,规定包括哪些分组,排除哪些分组。
    使用HAVING,其实HAVING和WHERE很相似,所有的WHERE子句都可以用HAVING子句来代替,它们唯一的区别就是WHERE过滤行,HAVING过滤分组。(语法都是一样的,仅仅是关键字有差异)

    相关文章

      网友评论

          本文标题:必知必会-第十三章

          本文链接:https://www.haomeiwen.com/subject/brruoxtx.html