gpt4 book ai didi

MySQL - 也使用 'total' 平均值获取所有列平均值

转载 作者:可可西里 更新时间:2023-11-01 07:56:35 24 4
gpt4 key购买 nike

我有一个 MySQL 表,如下所示:

id  load_transit    load_standby
1 40 20
2 30 15
3 50 10

我需要进行以下计算:

load_transit_mean = (40+30+50)/3 = 40
load_standby_mean = (20+15+10)/3 = 15
total_mean = (40+15)/2 = 27.5

是否可以在单个查询中执行此操作?最好的设计是什么?

我需要我的答案是可扩展的(真正的设计有更多的行和列),并且能够处理一些包含 NULL 的行。

最佳答案

我相信这样做会成功:

SELECT AVG(Load_transit)
, AVG(load_standby)
, (AVG(Load_transit) + AVG(load_standby))/2.0
FROM table

AVG() 函数处理 NULL,因为它会忽略它们,如果您希望 NULL 行计入您的分母中,您可以将 AVG() 替换为 SUM() 超过 COUNT(*),即:

   SUM(load_transit)/COUNT(*)

关于可扩展性,像上面那样手动列出它们可能是最简单的解决方案。

关于MySQL - 也使用 'total' 平均值获取所有列平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17324709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com