测验结果统计:
UserId StartDate EndDate UserScore
1 2015-03-04 14:01:26 2015-03-04 14:02:14 200
2 2015-03-04 14:01:26 2015-03-04 14:02:14 180
3 2015-03-04 13:42:23 2015-03-04 13:43:19 200
4 2015-03-04 13:07:52 2015-03-04 13:08:57 160
StartDate / EndDate的数据类型为datetime
。获得时间的单位应在seconds
如何以最快的时间(最短的时间)获取最高的用户分数来完成测验?
答案 0 :(得分:0)
我们需要处理可能有多个记录具有最快时间(平局)的情况。在这种情况下,我们可以ORDER
以UserScore
降序的结果(即得分最差的结果集),但只保留最高记录:
SELECT TIMESTAMPDIFF(SECOND, StartDate, EndDate)
AS fastest_time
FROM score_table
ORDER BY UserScore DESC, fastest_time ASC LIMIT 3;