gpt4 book ai didi

MySql - 平均每一行

转载 作者:太空宇宙 更新时间:2023-11-03 11:43:15 26 4
gpt4 key购买 nike

我有这张表:

+----+---------+----+----+----+
| ID | ID_USER | Q1 | Q2 | Q3 |
+----+---------+----+----+----+
| 1 | 31 | 3 | 4 | 5 |
| 2 | 2 | 5 | 5 | 8 |
| 3 | 5 | 6 | 2 | 3 |
+----+---------+----+----+----+

如何为每个 id_user 取平均值。要有这种类型的表:

+----+---------+-----+
| ID | ID_USER | AVG |
+----+---------+-----+
| 1 | 31 | 4 |
| 2 | 2 | 6 |
| 3 | 5 | 5.5 |
+----+---------+-----+
谢谢!

最佳答案

简单的答案是:

select id, id_user, (q1 + q2 + q3) / 3 as average
from t;

但是,如果不是所有的问题都有值(假设它们是 NULL)并且您想包含这些值,那么您需要复杂的逻辑:

select id, id_user,
(coalesce(q1, 0) + coalesce(q2, 0) + coalesce(q3, 0)) /
nullif( (q1 is not null) + (q1 is not null) + (q3 is not null)), 0)
) as average
from t;

关于MySql - 平均每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40319986/

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