我需要一个求和和和平均值的组合函数的帮助。
我现在有一个时间跟踪系统 'hour'
看起来像这样:
# USER_ID #HOURS #DATE
1 2 2018-01-01
1 1 2018-01-01
2 5 2018-01-01
1 3 2018-01-02
2 8 2018-01-02
2 1 2018-01-02
我想在输出中得到的是:
今天平均小时数(2018-01-01):4小时
我能做的是:
SELECT AVG(hours)
FROM hour h
WHERE h.date = CURDATE()
但这会给我另一个我想要的输出,因为在我的示例中,user_id 1有两个输入,2小时+1小时。这样地。。
2+1+5平均值:266667
3+5平均值:4
所以,我的查询应该需要每个用户的总和,然后得到平均值。我怎么能做这种事?
致以最诚挚的问候!
1条答案
按热度按时间5kgi1eie1#
您可以通过使用
SUM(hours)
然后除以组中的唯一用户总数,使用COUNT(DISTINCT ...)
.请尝试以下操作: