При выборке данных из таблицы по условию с join столкнулся с тем, что время выполнения запроса достаточно велико. В результате получаю массив из нескольких сотен записей, но выводить мне нужно только 7. Как грамотно построить запрос, чтобы производилась выборка первых семи найденных записей, удовлетворяющих определенному условию, и имеющих максимальное значение определенного поля?
Я так понимаю что LIMIT для выборки 7 найденных записей не подходит, т.к. для него нужно указывать позицию, а в моем случае позиция не известна.
SELECT `gkinfo`.`id`, `title`
FROM `ga_keyword_info` `gkinfo`
JOIN `ga_keyword` `gk` ON gkinfo.keyword_id=gk.id
WHERE `gk`.`campaign_id` IN ('1', '2', '3' и тд..);