是否可以在限制条款中使用函数?我正在尝试创建一个轮播广告系统。
我想要做的是......的影响。
SELECT *
FROM ads
WHERE city='Maitland'
AND spot='home-banner'
ORDER BY id ASC
LIMIT SUM(views) % COUNT(*), 1;
此逻辑应获取所有选定广告的总观看次数,除以匹配数,并使用余下的内容确定应返回的广告。然后,该行将在程序期间使其视图列增加。
然而,我在语句中的SUM函数附近收到错误。我知道我可以使用一个变量并在前一个语句中获取余数,但我认为因为WHERE子句是相同的,所以一次完成所有操作会更有效。任何替代方案?