Я думаю, что вы хотите:
select p.auth, count(*) no_records
from bhop.playertimes p
where
p.track = 0
and p.time = (
select min(p1.time)
from bhop.playertimes p1
where p1.map = p.map and p1.track = 0
)
Это дает вам число map
с на auth
, где им принадлежит минимальное время (которое, как я понимаю, является вашим определением auth
сделав запись ).
Если вы используете MySQL 8.0, вы можете получить тот же результат с оконной функцией rank()
:
select auth, count(*) no_records
from (
select auth, rank() over(partition by map order by time) rn
from bhop.playertimes
where track = 0
) p
group by auth