我有一个简单的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
然后我得到我的第一圈时间(这不是我最好的单圈时间)
有什么建议吗?
答案 0 :(得分:0)
您是否尝试过使用min()
功能?
SELECT users_id, min(lap_times) FROM tbl_lap_times GROUP BY users_id
答案 1 :(得分:0)
您需要使用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