mysql之分组数据

最后都变了- 提交于 2020-02-05 19:07:23

GROUP BY

查找出每一个vent_id对应了几条记录。
在这里插入图片描述

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

过滤分组:HAVING

MySQL为此目的提供了另外的子句,那就是 HAVING 子句。 HAVING 非常类似于 WHERE 。事实上,目前为止所学过的所有类型的 WHERE 子句都可以用 HAVING 来替代。唯一的差别是WHERE 过滤行,而 HAVING 过滤分组
在这里插入图片描述
select vent_id,count(*) as count from h_info group by vent_id having count >= 2;

分组和排序

在这里插入图片描述在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!