Inilah solusi cepat yang mungkin Anda sukai:
CREATE EXTENSION IF NOT EXISTS tsm_system_rows;
select * from task
tablesample system_rows (88);
Untuk referensi, TABLESAMPLE ada dalam dokumen untuk SELECT:https://www. postgresql.org/docs/current/sql-select.html
Berikut ini penulisan fitur yang cukup bagus:
https://www.2ndquadrant.com/ en/blog/tablesample-in-postgresql-9-5-2/
...dan bagian lain tentang subjek umum pengambilan sampel acak oleh penulis yang sama:
https://www. 2ndquadrant.com/en/blog/tablesample-and-other-methods-for-getting-random-tuples/
tsm_system_rows adalah salah satu dari dua ekstensi pengambilan sampel standar, didokumentasikan di sini:https:// /www.postgresql.org/docs/current/tsm-system-rows.html
Hai! Saya senang Anda menanyakan pertanyaan ini. Saya cenderung menggunakan metode BERNOULLI, yang dibangun ke dalam SELECT di luar kotak, tetapi didasarkan pada persentase. Saya baru saja mencoba ini dan berfungsi dengan baik:
select * from task
tablesample BERNOULLI (1)
limit 88