так заработает точно
select * from(select count(*) as _cnt, a.b_id as _id from a join b on a.b_id=b.id group by _id) as t order by t._cnt desc
но, скорее всего, заработает и так
select count(*) as _cnt, a.b_id as _id from a join b on a.b_id=b.id group by _id order by _cnt desc