SELECT player, latitude, longitude, ROUND( ( 6371 * acos( cos( radians( $latitude ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( $longitude ) ) + sin( radians( $latitude ) ) * sin( radians( latitude ) ) ) ), 3) AS distance FROM users WHERE time_checked_in > DATE_SUB(NOW(), INTERVAL 5 MINUTE) HAVING distance < $radius ORDER BY distance LIMIT 0, 20