SELECT *
FROM X
WHERE flags = 0
ORDER BY rand()
LIMIT 1
Điều này lấy ra 1 hàng ngẫu nhiên. Thay 1 bởi N để có N hàng ngẫu nhiên.
Lưu ý:Như những người khác đã chỉ ra, điều này có thể chậm vì nó cần quét toàn bộ bảng. Tôi đã từng làm điều này với DB2, nơi điều này hoạt động hoàn hảo cho các bảng có hàng trăm nghìn hàng, nhưng theo liên kết trong câu trả lời của tereško , MySQL dường như xuống cấp nhanh hơn nhiều.