Non, vous ne pouvez pas le faire directement . LIMIT
et OFFSET
les valeurs doivent être des constantes.
Citation de la documentation MySQL :
Vous pouvez cependant utiliser des instructions et des variables préparées :
SELECT @offset:=FLOOR(1 + RAND() * COUNT(*)) FROM sites;
PREPARE STMT FROM 'SELECT * FROM sites WHERE ... LIMIT ?, 1';
EXECUTE STMT USING @offset;