@artzub Отдельное поле имеет смысл при высокой нагрузке, когда запросов на чтение счётчика очень много, а на добавление/удаление статей мало. В этом случае поле изменяется по триггеру и выполняет роль кэша.
какое нафиг "решение"?? это бред делать подзапрос на каждого пользователя. классическая задача, делается как написал artzub.
можно еще сначала посчитать статьи сгруппированные по юзерам, а потом уже джоинить юзеров.