Không, bạn không thể làm điều đó trực tiếp . LIMIT
và OFFSET
giá trị phải là hằng số.
Trích dẫn từ tài liệu MySQL :
Tuy nhiên, bạn có thể sử dụng các câu lệnh và biến đã chuẩn bị:
SELECT @offset:=FLOOR(1 + RAND() * COUNT(*)) FROM sites;
PREPARE STMT FROM 'SELECT * FROM sites WHERE ... LIMIT ?, 1';
EXECUTE STMT USING @offset;