with point_table as( select *, FLOOR(timestampdiff(second,visit_time,leave_time)/600) as single_point # 注意题目的理解,应该是每满10分钟则积1分,满20分钟则积2分,满40分则积4分,是这个意思。 from visit_tb ) select user_id, sum(single_point) as point from point_table group by user_id order by point desc