Ваш запрос должен делать то, что вы хотите, но вам нужно исправить предложение limit
. Если вам нужен один актер с большинством фильмов, вам понадобится limit 1
, а не limit 2, 1
. concat()
в предложении select
также необходимо исправить - вам нужен пробел между именами, а не перед ими.
Другой вариант: используйте агрегированный подзапрос для сортировки, что позволяет избежать агрегирования во внешнем запросе:
select concat(a.first_name, ' ', a.last_name) as full_name
from actor a
order by (select count(*) from film_actor fa where fa.actor_id = a.actor_id) desc
limit 1
Обратите внимание, что ни ваш запрос, ни этот не учитывают возможность лицевых связей. В вашем вопросе это не уточняется. Если это то, что здесь нужно, тогда стратегия будет другой - но, похоже, это не то, о чем вы просили.