SQL使用聚集函数实现对数据汇总
作者:阿柠xn
这篇文章主要介绍了SQL使用聚集函数实现对数据汇总,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
汇总数据
聚集函数
聚集函数:运行在行组上,计算和返回单个值的函数
SQL聚集函数:
函数 | 说明 |
---|---|
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行数 |
MAX() | 返回某列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某列值之和 |
AVG函数
例:返回products表中所有产品的平均价格:
SELECT AVG(prod_price) AS avg_price FROM products;
🖌AVG函数忽略列值为NULL的行
COUNT函数
确定表中行的数目或符合特定条件的行的数目。
例:返回customers表中客户的总数
SELECT COUNT(*) AS num_cust FROM customers;
例:只对具有电子邮件的客户计数
SELECT COUNT(cust_email) AS num_cust FROM customers;
MAX函数
SELECT MAX(prod_price) AS max_price FROM products;
🦄用于文本数据时,如果数据按相应的列排序,则max返回最后一行。
🗡MAX函数忽略列值为NULL的行
MIN函数
MIN函数与MAX函数正好相反
SUM函数
sum用来返回指定列值的和
例:检索所订购的物品的总数。
SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num = 20005;
SUM还可以与之前的计算字段进行联动
例:求总的订单金额
SELECT SUM(item_price*quantity) AS total_price FROM orderitems WHERE order_num = 20005;
聚集不同值
⚠️下面介绍聚集函数的DISTINCT的使用,mysql4.x是不能正常使用的。
SELECT AVG(DISTINCT prod_price) AS avg_price FROM products WHERE vend_id = 1003;
📅DISTINCT不能用于COUNT(*)。
组合聚集函数
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聚集函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!