Nie, nie możesz tego zrobić bezpośrednio . LIMIT
i OFFSET
wartości muszą być stałymi.
Cytat z dokumentacji MySQL :
Możesz jednak użyć przygotowanych instrukcji i zmiennych:
SELECT @offset:=FLOOR(1 + RAND() * COUNT(*)) FROM sites;
PREPARE STMT FROM 'SELECT * FROM sites WHERE ... LIMIT ?, 1';
EXECUTE STMT USING @offset;