mysql之分组数据

GROUP BY

查找出每一个vent_id对应了几条记录。
mysql之分组数据

  • 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 过滤分组
mysql之分组数据
select vent_id,count(*) as count from h_info group by vent_id having count >= 2;

分组和排序

mysql之分组数据mysql之分组数据