Вы можете добавить объединение, чтобы рассчитать количество сообщений в теме.Поскольку вы не выбираете какие-либо столбцы из сообщений, это единственное объединение, которое вам нужно.
select t.*
from Threads t
join (
select ThreadID
, count(*) as PostCount
from Posts
where p.Content LIKE '%" . $search . "%'
or p.User LIKE '%" . $search ."%'
group by
ThreadID
) PostCount
on PostCount.ThreadID = t.ThreadID
order by
PostCount.PostCount desc