SQL使用聚集函数实现对数据汇总
吾爱主题
阅读:176
2022-11-23 14:00:00
评论:0
汇总数据
聚集函数
聚集函数:运行在行组上,计算和返回单个值的函数
SQL聚集函数:
函数 | 说明 |
---|---|
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行数 |
MAX() | 返回某列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某列值之和 |
AVG函数
例:返回products表中所有产品的平均价格:
?1 2 | SELECT AVG (prod_price) AS avg_price FROM products; |
AVG函数忽略列值为NULL的行
COUNT函数
确定表中行的数目或符合特定条件的行的数目。
例:返回customers表中客户的总数
?1 2 | SELECT COUNT (*) AS num_cust FROM customers; |
例:只对具有电子邮件的客户计数
?1 2 | SELECT COUNT (cust_email) AS num_cust FROM customers; |
MAX函数
?1 2 | SELECT MAX (prod_price) AS max_price FROM products; |
用于文本数据时,如果数据按相应的列排序,则max返回最后一行。
MAX函数忽略列值为NULL的行
MIN函数
MIN函数与MAX函数正好相反
SUM函数
sum用来返回指定列值的和
例:检索所订购的物品的总数。
?1 2 3 | SELECT SUM (quantity) AS items_ordered FROM orderitems WHERE order_num = 20005; |
SUM还可以与之前的计算字段进行联动
例:求总的订单金额
?1 2 3 | SELECT SUM (item_price*quantity) AS total_price FROM orderitems WHERE order_num = 20005; |
聚集不同值
下面介绍聚集函数的DISTINCT的使用,mysql4.x是不能正常使用的。
?1 2 3 | SELECT AVG ( DISTINCT prod_price) AS avg_price FROM products WHERE vend_id = 1003; |
DISTINCT不能用于COUNT(*)。
组合聚集函数
?1 2 3 4 5 | SELECT COUNT (*) AS num_items, MIN (prod_price) AS price_min, MAX (prod_price) AS price_max, AVG (prod_price) AS price_avg FROM products; |
到此这篇关于SQL使用聚集函数实现对数据汇总的文章就介绍到这了,更多相关SQL聚集函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://juejin.cn/post/7137111738473775111
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。