SQL使用聚集函数实现对数据汇总
短信预约 -IT技能 免费直播动态提醒
汇总数据
聚集函数
聚集函数:运行在行组上,计算和返回单个值的函数
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聚集函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341