如果我有一张存储一个人姓名的表格,他们跑一英里所用的时间,以及当他们跑一英里时,获取一个人最近一圈时间的最佳方法是什么。
LAPS
____________________________________________
| name | lap_time | date |
--------------------------------------------
| George | 20.3 | 2013-01-17 09:17:14 |
| Alex | 32.2 | 2013-02-17 14:24:32 |
| Mike | 16.6 | 2013-01-17 07:57:54 |
| Alex | 28.5 | 2013-01-17 19:50:21 |
| Mike | 15.1 | 2013-02-17 12:37:12 |
| Mike | 14.8 | 2013-03-17 06:58:34 |
''''''''''''''''''''''''''''''''''''''''''''
我一直在这样做,到目前为止它对我有用,但我很想知道是否有更好的方法。
SELECT l.lap_time
FROM laps l
INNER JOIN(
SELECT *, MAX(date) as most_recent
FROM laps
WHERE name = 'Alex'
)AS temp ON (
l.date = temp.most_recent
AND l.name = temp.name
)
我使用这种类型的查询的实际表很大,所以我正在寻找最省时的方法。