最初にユーザーIDでグループ化して注文した結果セット全体が必要です...次に、ランキングを適用します
select
@rownum := @rownum +1 as rank,
prequery.uid,
prequery.PostCount
from
( select @rownum := 0 ) sqlvars,
( SELECT uid, count(id) postCount
from posts
group by uid
order by count(id) desc ) prequery
特定の人を取得し、「HAVING」句を試行する際に問題が発生した場合は、それをまとめて、whereを適用します...
select WrappedQuery.*
from ( entire query from above ) WrappedQuery
where WrappedQuery.uid = SinglePerson