Đây là một giải pháp nhanh chóng mà bạn có thể thích:
CREATE EXTENSION IF NOT EXISTS tsm_system_rows;
select * from task
tablesample system_rows (88);
Để tham khảo, TABLESAMPLE có trong tài liệu cho SELECT: https:// www. postgresql.org/docs/current/sql-select.html
Đây là một bản ghi khá tốt về tính năng:
https://www.2ndquadrant.com/ vi / blog / tableample-in-postgresql-9-5-2 /
... và một tác phẩm khác về chủ đề lấy mẫu ngẫu nhiên chung của cùng một tác giả:
https:// www. 2ndquadrant.com/en/blog/tablesample-and-other-methods-for-getting-random-tuples/
tsm_system_rows là một trong hai phần mở rộng lấy mẫu tiêu chuẩn, được ghi lại tại đây: https:/ /www.postgresql.org/docs/current/tsm-system-rows.html
Chào! Tôi rất vui vì bạn đã hỏi câu hỏi này. Tôi có xu hướng sử dụng phương pháp BERNOULLI, được tích hợp sẵn trong SELECT ngoài hộp, nhưng nó dựa trên tỷ lệ phần trăm. Tôi vừa thử cái này và nó hoạt động tốt:
select * from task
tablesample BERNOULLI (1)
limit 88