Cita: El tema que no se si mencione, es que la tabla historypoints mantiene una historia de puntos, por lo que cada usuario tiene varios registros en esta tabla y el ultimo registro de cada usuario es el que corresponde como puntos actuales.
Bueno, eso es crítico y debí haberlo supuesto, a causa del nombre de la tabla.
De todos modos la cosa se vuelve simple, pero ahora deberás definir cuál es el valor que deseas obtener: el máximo puntaje, el mínimo, o la media. Porque incluso si restringes la búsqueda a un período, deberás asegurarte que en ese periodo hay aun único registro por cada user, o bien aplicar las funciones que corresponda.
Supongamos buscar el máximo puntaje: