Will your username appear more than once in this table? If so then change the GROUP BY from id to username.
If you store the users elsewhere, I would recommend that you don't store the username here, but rather the ID of the user from the user table. For one, it's more efficient, both in storage requirements and in query time, and for two it will prevent you getting your data mixed up if someone changes their username. This is what we call a "Foreign Key". I won't overcomplicate it from there for now (not necessary).
Also, I would ensure that the username field is indexed
By the way, actually running "SHOW CREATE TABLE nf_users" as a query on the database will return the exact table structure, indexes, engine and all, so will help people diagnose your problem. We can easily create the exact same table ourselves, put some test data in and test the queries. It's very helpful