gpt4 book ai didi

mysql - SQL按类别平均列

转载 作者:行者123 更新时间:2023-11-29 12:35:58 24 4
gpt4 key购买 nike

我正在尝试根据另一列获取一列的平均值。然后,我想创建一个新列,其中该平均值代表每个类别。我似乎无法弄清楚这一点。感谢您的帮助。

这是我的 table

| value   |  category  |
| 3 | a |
| 4 | a |
| 5 | a |
| 2 | b |
| 4 | b |
| 3 | b |
| 1 | c |
| 7 | c |

这就是我想要的:

| value   |  category  |  category avg  |
| 3 | a | 4 |
| 4 | a | 4 |
| 5 | a | 4 |
| 2 | b | 3 |
| 4 | b | 3 |
| 3 | b | 3 |
| 1 | c | 4 |
| 7 | c | 4 |

最佳答案

您可以在 from 子句或 select 子句中使用子查询来执行此操作。这是一种方法:

select value, category,
(select avg(value) from table t2 where t.category = t2.category) as catgory_avg
from table t;

编辑:

如果您想更新表中的值,那么您可以执行以下操作:

update table t join
(select category, avg(value) as avgv
from table t
group by category
) tavg
on t.category = tavg.category
t.category_avg = tavg.avgv;

关于mysql - SQL按类别平均列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26790868/

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