zoukankan      html  css  js  c++  java
  • Mysql中HAVING的相关使用方法

    having字句可以让我们筛选分组之后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。

    而having子句在聚合后对组记录进行筛选。我的理解就是真实表中没有此数据,这些数据是通过一些函数产生的。

    一、显示每个地区的总人口数和总面积.
    SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region

    先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中
    的不同字段(一或多条记录)作运算。

    二、 显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区。

    SELECT region, SUM(population), SUM(area)
    FROM bbc
    GROUP BY region
    HAVING SUM(area)>1000000

    在这里,我们不能用where来筛选超过1000000的地区,因为表中不存在这样一条记录。
    相反,having子句可以让我们筛选分组后的各组数据

    三、 having单独使用,与where类似

    eg: 查询单笔订单充值金额大于1000的

    SELECT regagent,amount FROM `cy_pay_ok`  having amount>1000 ;

    SELECT regagent,amount FROM `cy_pay_ok`  where amount>1000 ;

    两个查询结果一样

  • 相关阅读:
    使用PIE.htc 进行IE兼容CSS3
    好用的px转rem插件cssrem
    BOM基础知识
    css经典布局—stick footer布局
    input file 上传图片问题
    除自身以外数组的乘积
    2的幂
    反转字符串中的单词
    环形链表
    买卖股票的最佳时机2
  • 原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/11188733.html
Copyright © 2011-2022 走看看