gpt4 book ai didi

mysql - 从按条件分组的所有记录中获取 AVG,然后获取这些平均值的 AVG

转载 作者:行者123 更新时间:2023-11-29 20:13:58 26 4
gpt4 key购买 nike

我有下表:

+--------+-------+
|Username|Points |
+--------+-------+
|User1 | 75.00 |
|User1 | 87.50 |
|User1 |100.00 |
|User1 | 40.00 |
|User1 | 50.00 |
|User2 |100.00 |
|User3 | 37.50 |
|User3 | 12.50 |
+--------+-------+

我希望查询仅显示 User1 的 1 个字段,以及用户名 = User1 和 User3 的 5 个字段的平均值。然后得到所有用户的平均值。

所以会是:

AVG (avg user1 + avg user2 + avg user3)

有什么想法可以实现这一点吗?

我尝试了以下方法,但给出了错误的平均值:

SELECT ROUND(AVG(finalgrade),2) AS grade FROM
(
SELECT DISTINCT(u.username), gg.finalgrade AS finalgrade FROM ...

大量 JOIN 和 WHERE

)
AS average

最佳答案

您需要使用子查询。首先根据用户获取平均值,然后对它们进行平均,就像您所说的:

SELECT AVG(points) from (
SELECT AVG(points) AS points FROM ... GROUP BY username) a;

不需要 DISTINCT。

关于mysql - 从按条件分组的所有记录中获取 AVG,然后获取这些平均值的 AVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39916538/

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