いいえ、それを直接行うことはできません 。 LIMIT
およびOFFSET
値は定数でなければなりません。
MySQLドキュメント からの引用 :
ただし、プリペアドステートメントと変数は使用できます。
SELECT @offset:=FLOOR(1 + RAND() * COUNT(*)) FROM sites;
PREPARE STMT FROM 'SELECT * FROM sites WHERE ... LIMIT ?, 1';
EXECUTE STMT USING @offset;