Query of top players of the month
You will have to test performance, but a GROUP BY should help:

SELECT playerName, MAX(points) AS points /*[, other columns]*/
FROM game
WHERE date &gt;= date_sub(CURDATE(),INTERVAL 1 MONTH)
GROUP BY playerName /*[, other columns]*/
ORDER BY points DESC
LIMIT 0, 20