Bạn có thể muốn thử nghiệm với OFFSET
, như trong
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
N
là số hàng trong mytable
. Trước tiên, bạn có thể cần thực hiện SELECT COUNT(*)
để tìm ra giá trị của N
.
Cập nhật (bởi Antony Hatchkins)
Bạn phải sử dụng floor
tại đây:
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Hãy xem xét một bảng gồm 2 hàng; random()*N
tạo 0 <= x < 2
và ví dụ:SELECT myid FROM mytable OFFSET 1.7 LIMIT 1;
trả về 0 hàng vì làm tròn ẩn đến số nguyên gần nhất.