题解 | 统计用户获得积分

统计用户获得积分

https://www.nowcoder.com/practice/22ed0cd240824bb597b3130fef389cea

-- DATETIME类型数据可以直接相减,相减后返回一个以秒为单位的差值
-- 计算两个时间差值:TIMESTAMPDIFF(MINUTE, visit_time, leave_time) 以分为单位返回
-- 计算单次积分:FLOOR(TIMESTAMPDIFF(MINUTE, visit_time, leave_time)/10) AS single_point
-- 按照用户对积分进行累加:SUM(single_point) AS point GROUP BY user_id
-- 按照积分降序:ORDER BY point DESC

WITH T AS(
    SELECT 
        user_id,
        FLOOR(TIMESTAMPDIFF(MINUTE, visit_time, leave_time)/10) AS single_point
    FROM
        visit_tb
)
SELECT 
    user_id,
    SUM(single_point) AS point 
FROM T
GROUP BY user_id
ORDER BY point DESC

全部评论

相关推荐

迷茫的大四🐶:看来已经准备换人了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务