【发布时间】:2022-01-21 19:22:46
【问题描述】:
我想根据这些数据计算平均值。我不想将完成少于或等于 3 个订单的普通用户包括在内。
我使用这段代码来计算每个用户的订单总数:
SELECT DISTINCT `User`, COUNT(`User`) FROM `DB` GROUP BY`User`;
我得到结果:用户 1 = 9,用户 2 = 3,用户 3 = 8。 如何计算此数据的平均值,以便不考虑用户,平均值为 8.5
date | User | Type
-----------------------------------
17-01-2022 00:00:00 | User1 | A
17-01-2022 00:00:00 | User1 | A
17-01-2022 00:00:00 | User1 | A
17-01-2022 00:00:00 | User2 | A
18-01-2022 00:00:00 | User3 | B
18-01-2022 00:00:00 | User3 | B
18-01-2022 00:00:00 | User3 | B
19-01-2022 00:00:00 | User1 | B
19-01-2022 00:00:00 | User2 | B
19-01-2022 00:00:00 | User2 | C
19-01-2022 00:00:00 | User3 | C
20-01-2022 00:00:00 | User3 | C
20-01-2022 00:00:00 | User3 | C
20-01-2022 00:00:00 | User3 | C
20-01-2022 00:00:00 | User1 | C
21-01-2022 00:00:00 | User1 | A
21-01-2022 00:00:00 | User1 | A
21-01-2022 00:00:00 | User3 | A
21-01-2022 00:00:00 | User1 | A
21-01-2022 00:00:00 | User1 | A
【问题讨论】:
-
使用
GROUP BY时不需要DISTINCT,因为分组可以防止重复。 -
什么的平均值?
-
@Sebi2020 每个用户的数据库记录平均值
标签: mysql group-by count average having