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小时内删除。
发表评论