Code:
SELECT Stats.[userid] AS User, Count(Stats.[userid]) AS Docs
FROM (SELECT Stats.[userid], First(Stats.[document]) AS FirstOfDocument FROM Stats GROUP BY Stats.[userid], Stats.[document]) AS Query1
GROUP BY Stats.[userid]
ORDER BY Count(Stats.[userid]) DESC;
I took out the word WHERE from your statement and mine worked. Not sure why you did your query this way but this is simpler and it works the same way.
Code:
SELECT TOP 20 Stats.UserID, Count(Stats.Document) AS TotalDocs
FROM Stats
GROUP BY Stats.UserID
ORDER BY Count(Stats.Document) DESC;