题目## 题目
这道题目要求我们计算每个用户在最近时间内的访问积分。我们要做的事情如下:
1. 确定总体问题
我们需要计算每个用户的访问积分,并按积分降序排序。积分的计算公式是:每访问10分钟获得1积分。
2. 分析关键问题
- 计算访问时长:使用
TIMESTAMPDIFF函数计算每次访问的时长(以分钟为单位)。 - 计算积分:将访问时长除以10,使用
FLOOR函数取整,计算每次访问的积分。 - 汇总积分:对每个用户的积分进行汇总。
- 排序输出:按积分降序排序。
3. 解决每个关键问题的代码及讲解
步骤1:计算访问时长
我们使用TIMESTAMPDIFF函数计算每次访问的时长(以分钟为单位):
TIMESTAMPDIFF(MINUTE, visit_time, leave_time)
TIMESTAMPDIFF(MINUTE, visit_time, leave_time):计算离开时间与访问时间之间的分钟差。
步骤2:计算积分
将访问时长除以10,使用FLOOR函数取整,计算每次访问的积分:
FLOOR(TIMESTAMPDIFF(MINUTE, visit_time, leave_time)/10)
FLOOR(.../10):将访问时长除以10,取整计算积分。
步骤3:汇总积分
对每个用户的积分进行汇总:
SUM(FLOOR(TIMESTAMPDIFF(MINUTE, visit_time, leave_time)/10)) AS point
SUM(...) AS point:对每个用户的积分进行汇总,计算总积分。

最低0.47元/天 解锁文章
217

被折叠的 条评论
为什么被折叠?



