Memilih Baris Berwajaran daripada Pangkalan Data
Dalam pengurusan data, memilih baris secara rawak daripada jadual ialah tugas biasa. Walau bagaimanapun, terdapat senario di mana pemberat perlu digunakan pada proses pemilihan, memastikan baris tertentu mempunyai kebarangkalian yang lebih tinggi untuk dipilih.
Artikel ini meneroka penyelesaian kepada isu ini menggunakan kaedah pensampelan takungan berwajaran untuk MySQL pangkalan data. Pertimbangkan jadual dengan lajur: id, kandungan dan berat. Kami berhasrat untuk memilih baris secara rawak sambil mengambil kira berat.
Pertanyaan SQL di bawah memanfaatkan kaedah pensampelan takungan berwajaran untuk mencapai ini:
SELECT id, -LOG(RAND()) / weight AS priority FROM your_table ORDER BY priority LIMIT 1;
Pertanyaan ini mengira nilai keutamaan untuk setiap baris dengan membahagikan logaritma asli negatif bagi nombor rawak dengan beratnya. Baris tersebut kemudiannya diisih dalam urutan keutamaan menaik, dengan baris dengan keutamaan terendah (nilai keutamaan tertinggi) dipilih sebagai hasilnya.
Dengan menggunakan teknik pensampelan takungan berwajaran ini, kita boleh memilih baris secara rawak daripada jadual, di mana kebarangkalian pemilihan adalah berkadar dengan beratnya. Ini membolehkan kami memastikan baris dengan pemberat yang lebih tinggi mempunyai peluang yang lebih besar untuk dipilih.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Berwajaran daripada Pangkalan Data MySQL Menggunakan Pensampelan Takungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!