gpt4 book ai didi

MySQL双重平均和双重分组

转载 作者:行者123 更新时间:2023-11-29 10:33:59 24 4
gpt4 key购买 nike

我在名为 test 的 MySQL 表中有以下数据

enter image description here

我运行以下 SQL 查询

SELECT user_id, 
group_id,
sum(value) as total_present,
avg(value)*100 as attendance_percentage
FROM test t
WHERE t.session_date BETWEEN '2017-10-01' AND '2017-10-15'
GROUP BY user_id

这给了我每个 user_id 的百分比,如下所示:

enter image description here

如果您查看上面的输出示例,就会发现 user_id 1 和 2 位于同一 group_id 中。那么有没有办法让我进一步对查询进行分组,然后取相同 group_id 的平均值。因此对于上面的例子,group_id 3 的百分比应该是 70.83335

最佳答案

哈立德的回答没问题。但我认为你应该考虑对不同大小的不同事物进行平均的问题。 user_id = 2 的值比 user_id = 1 更多,因此他的百分比应该更重要。

例如,如果 user_id = 3 仅以 100% 的出勤率去过一次,则会扭曲平均值。

你应该这样做:

 SELECT group_id, avg(value)
FROM yourTable
GROUP BY group_id

在本例中,AVG() 是 71.42 而不是 70.83

关于MySQL双重平均和双重分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46850406/

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