-- MinPosts: Include only users with at least this many posts:
SELECT
DisplayName,
Users.Id,
Reputation,
count(*) AS PostCount,
FORMAT(AVG(CAST(Score AS FLOAT)), '#,###,##0.000') AS AverageScore
FROM
Users
INNER JOIN Posts ON (Users.Id = Posts.OwnerUserId)
GROUP BY
DisplayName,
Users.Id,
Reputation
HAVING
count(*) >= ##MinPosts:INT##
ORDER BY
AVG(CAST(Score AS FLOAT)) DESC,
PostCount DESC;