我有一个简单的MySQL表的圈时间。由以下部分组成
我基本上想选择前10圈的时间,但只有一个用户。因此,如果我有2圈时间的X轨道,我想得到最好的一个。
如果我跑了
SELECT * FROM tbl_lap_times ORDER BY lap_times ASC我看到了我的两圈时间,我最好的时间在顶部。但如前所述,我只想每个用户一圈时间。
如果我跑了
SELECT * FROM tbl_lap_times GROUP BY users_id ORDER BY lap_times ASC然后我得到了我的第一圈时间,(这不是我最好的一圈时间)
有什么建议吗?
发布于 2012-11-08 13:35:52
您需要使用MIN进行聚合。像这样的东西应该能起作用(未经测试):
SELECT user_id, track_id, lap_status, MIN(lap_times) AS best_time
FROM tbl_lap_times
GROUP BY user_id, track_id, lap_status
ORDER BY best_time DESC
LIMIT 10发布于 2012-11-08 13:35:47
您试过使用min()函数吗?
SELECT users_id, min(lap_times) FROM tbl_lap_times GROUP BY users_id
https://stackoverflow.com/questions/13289811
复制相似问题