mysql group by having用法
    GROUPBYHAVINGMySQL中常用的数据库查询语句,它们共同作用可以让我们从大量数据中进行组和筛选,更加有效地获取我们所想要的结果。本文介绍了 Group By Having典型用法,以及在 MySQL 中更复杂的使用场景。
    GROUP BY HAVING定义
    GROUP BY MySQL 中常用的数据库查询语句,它是一种合计函数,用来将查询语句中指定的字段值或列值进行聚合分组。
    GROUP BY以按照所选择的列或表达式分组查询结果,在一个查询中可以指定多个分组字段,同时也可以将多个表聚合到一起。它常常和 COUNT(),SUM(),MIN(),MAX()等函数一起使用。
    HAVING一种查询条件,它可以用来在组内筛选查询结果,可以像 WHERE句一样指定组和查询条件,它和 Group By句经常一起使用。
    Group By Having MySQL 中的典型用法
    在 MySQL 中,Group By Having常用于查询多行和分组统计结果的情况。
    下面的例子中,我们用 GROUP BY customers中的 orders产品 id行分组:
    SELECT product_id, COUNT(*) FROM customers
    GROUP BY product_id;
    运行结果如下:
    product_id  count
    ----------  -----
    1          10
    2          20
    3          30
    以上结果表明,每个产品 ID有相应数量的客户,分别为 10、20、30。
    同样,我们也可以用 HAVING查询结果进行筛选。下面是一个示例:
    SELECT product_id, COUNT(*) as count
    FROM customers
    GROUP BY product_id
    HAVING COUNT(*) > 15;
    运行结果如下:
    product_id  count
    ----------  -----
    2          20
    3          30
    以上结果表明,有 15 个以上的客户购买了产品 ID 为 2 3产品。
    MySQL 中的高级用法
    MySQL Group By Having以用于更复杂的情况,比如我们可以在 Group By面指定条件:
    SELECT name, SUM(price)
    FROM customers
    GROUP BY namegroup by的用法及原理详解
    HAVING SUM(price) > 200;
    运行结果如下:
    name  sum(price)
    -----  ----------
    John  300
    Jack  250
    以上结果表明,John Jack买的总价超过 200,而其他客户则没有达到这个标准。
    小结
    本文介绍了 MySQL 中 Group By Having典型用法,以及更复杂的使用场景。GROUP BY以让我们在查询中对指定字段进行聚合分组,而 HAVING可用来在组内筛选结果。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。