Можно ли использовать функции в предложении limit?Я пытаюсь создать систему ротационной рекламы.
Что я хочу сделать, так это повлиять на ...
SELECT *
FROM ads
WHERE city='Maitland'
AND spot='home-banner'
ORDER BY id ASC
LIMIT SUM(views) % COUNT(*), 1;
Эта логика должна получить общее количество просмотров для всех выбранных объявлений,разделите на количество совпадений и используйте остаток, чтобы определить, какое объявление должно быть возвращено.В этой строке столбец представлений будет увеличен во время процедуры.
Однако в операторе я получаю сообщение об ошибке рядом с функцией SUM.Я знаю, что могу использовать переменную и получить остаток в предыдущем выражении, но я решил, что, поскольку предложение WHERE идентично, было бы эффективнее сделать все сразу.Есть альтернативы?