Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Entri Rawak Berwajaran daripada Jadual MySQL?

Bagaimana untuk Memilih Entri Rawak Berwajaran daripada Jadual MySQL?

Linda Hamilton
Lepaskan: 2024-12-03 22:33:13
asal
267 orang telah melayarinya

How to Select a Weighted Random Entry from a MySQL Table?

MySQL Memilih Entri Berwajaran Rawak daripada Jadual

Tugas di tangan melibatkan pemilihan entri rawak daripada jadual MySQL, dengan kelainan —entri ditimbang berdasarkan nilai dalam lajur "Pendarab". Pendaraban 0 menunjukkan tiada pemberat, 1 gandakan berat, 2 gandakan beratnya, dan seterusnya.

Pemilihan Rawak Berwajaran Menggunakan ORDER BY

Walaupun menggunakan SELECT dan RAND () ialah pendekatan biasa untuk pemilihan rawak, ia tidak mengambil kira pemberat. Walau bagaimanapun, dengan menggunakan ORDER BY, ia menjadi mungkin untuk mencapai rawak wajaran yang diingini.

Formula yang digunakan, -LOG(1.0 - RAND()) / Multiplier, menghasilkan rawak berwajaran. Apabila Pengganda meningkat, nilai ungkapan berkurangan, dengan berkesan meningkatkan berat entri dalam proses rawak.

Pertimbangan dan Pengoptimuman

Adalah penting untuk ambil perhatian bahawa tetapan Darab kepada 0 untuk melumpuhkan entri boleh mengakibatkan pembahagian dengan ralat sifar. Untuk mengelakkan isu ini, anda disyorkan untuk menggunakan klausa WHERE untuk menapis masukan dengan Pengganda 0, seperti WHERE Multiplier > 0.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Entri Rawak Berwajaran daripada Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan