• 中文
    • English
  • 注册
  • 查看作者
    • 4-9:having语句设置分组条件

      分组条件语法结构:

      [HAVING where_condition]

      比如对年龄大于35岁的用于进行性别分组:

      mysql> SELECT sex FROM users GROUP BY sex HAVING age > 35;
      ERROR 1054 (42S22): Unknown column 'age' in 'having clause'

      为什么会报错呢?是因为HAVING后面的条件只能为聚合函数(比如SUM,MIN,MAX等)或者该条件出现在SELECT中,所以我们可以将SELECT中加入age:

      mysql> SELECT sex,age FROM users GROUP BY sex HAVING age > 35;
      Empty set (0.01 sec)

      或者使用聚合函数:

      mysql> SELECT sex FROM users GROUP BY sex HAVING count(id) >=2;
      +------+
      | sex  |
      +------+
      |    0 |
      +------+
      1 row in set (0.00 sec)

      其中count(列名)的作用为:

      只包括列名指定列,返回指定列的记录数,在统计结果的时候,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。——摘自丸丸酱博客

    • 0
    • 0
    • 0
    • 2.7k
    • 请登录之后再进行评论

      登录

      赞助本站

      • 支付宝
      • 微信
      • QQ

      感谢一直支持本站的所有人!

      单栏布局 侧栏位置: