首页 > 数据库 > SQL > 正文

SQL 聚合函数如何计算加权平均?

冷炫風刃
发布: 2025-09-21 16:30:01
原创
799人浏览过
<p>加权平均需通过SUM函数实现,公式为SUM(值×权重)/SUM(权重);例如计算加权平均价格:SELECT SUM(price * quantity) / SUM(quantity) AS weighted_avg_price FROM sales;注意处理NULL值和分母为零情况。</p>

sql 聚合函数如何计算加权平均?

在 SQL 中,聚合函数本身没有直接提供加权平均的计算方式,但可以通过数学表达式结合 SUM() 函数手动实现加权平均。

什么是加权平均?

加权平均是每个值乘以其对应权重后的总和,再除以权重的总和。公式为:

(值1 × 权重1 + 值2 × 权重2 + ...) / (权重1 + 权重2 + ...)

使用 SUM 计算加权平均

SQL 中通过以下结构计算加权平均:

SELECT SUM(value * weight) / SUM(weight) AS weighted_average
FROM your_table;

其中:

  • value 是你要取平均的数值列
  • weight 是对应的权重列

例如,计算商品的加权平均价格(按销售数量加权):

算家云
算家云

高效、便捷的人工智能算力服务平台

算家云 37
查看详情 算家云
SELECT SUM(price * quantity) / SUM(quantity) AS weighted_avg_price
FROM sales;

这会得出每笔销售价格按销量加权后的平均值,比简单平均更反映实际收入情况。

注意事项

确保权重列不包含 NULL 值,否则会影响结果。可以使用 COALESCE 进行处理:

SELECT SUM(value * COALESCE(weight, 0)) / SUM(COALESCE(weight, 0))
FROM your_table;

同时注意分母不能为零,可在外层加条件判断或使用 CASE 处理 SUM(weight) = 0 的情况。

基本上就这些,核心是用 SUM 实现分子和分母的分别计算。

以上就是SQL 聚合函数如何计算加权平均?的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号