Please note that this query still suffers from GROUP BY issue I pointed out, since "points" has no aggregation function and therefore can return anything. Your data set may be small enough where it looks like it works, but with a larger data set you should start seeing issues. So here we go...
SELECT exampletable.id, name ,points FROM exampletable
INNER JOIN (select max(id) AS id
FROM exampletable
WHERE name IN ('gregory','george','nick')
GROUP BY name) AS t
ON t.id = exampletable.id;
This is with the assumption that the "id" field in exampletable is unique, otherwise I would construct the query as follows
SELECT exampletable.id, exampletable.name ,points FROM exampletable
INNER JOIN (select max(id) AS id, name
FROM exampletable
WHERE name IN ('gregory','george','nick')
GROUP BY name) AS t
ON t.name = exampletable.name AND t.id = exampletable.id