(我知道jumps
和style
应该是int
而不是varchar()
,但这不是我想要解决的问题。
我有一个查询,它应该在结果集中返回以下结果:
答案 0 :(得分:1)
看起来您希望style
的{{1}}行具有最小style
值的time
。
你就是这样。它需要两个步骤。第一个确定每个值的最小时间
SELECT style, MIN(time) time
FROM playertimes
GROUP BY style
第二步获取与该时间对应的实际playertimes
行。
SELECT p.style, s.time, p.auth
FROM playertimes p
JOIN (
SELECT style, MIN(time) time
FROM playertimes
GROUP BY style
) s ON p.style = s.style AND p.time = s.time
最后,您可以将该批次加入users
表格,将auth
列转换为name
列。
SELECT p.style, s.time, u.name
FROM playertimes p
JOIN (
SELECT style, MIN(time) time
FROM playertimes
GROUP BY style
) s ON p.style = s.style AND p.time = s.time
JOIN users.u ON p.auth = u.auth
当然,一旦你有了一个有效的查询,就可以向它添加一个WHERE子句,就像这个一样。
WHERE p.map = 'some constant'