Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memilih Entri Rawak Berwajaran daripada Jadual MySQL?

Bagaimanakah Saya Boleh Memilih Entri Rawak Berwajaran daripada Jadual MySQL?

Linda Hamilton
Lepaskan: 2024-12-03 06:26:10
asal
189 orang telah melayarinya

How Can I Select a Weighted Random Entry from a MySQL Table?

Pemilihan Entri Rawak Berwajaran dalam MySQL

Soalan ini berkenaan dengan pemilihan entri rawak daripada jadual MySQL, sambil mempertimbangkan pemberat yang dinyatakan dalam " lajur Pengganda". Setiap entri ditimbang berdasarkan nilai dalam lajur ini, dengan nilai 0 menunjukkan tiada pemberat, 1 menunjukkan pemberat berganda dan seterusnya.

Pengguna cuba mengubah suai kod yang disediakan menggunakan SELECT dan RAND() , tetapi menghadapi cabaran dalam melaksanakan pemberat.

Penyelesaian terletak pada penggunaan ORDER BY -LOG(1.0 - RAND()) / Pengganda, seperti yang dicadangkan dalam benang Limpahan Tindanan yang serupa. Formula ini secara berkesan menimbang entri berdasarkan nilai Penggandanya, menghasilkan keputusan yang tepat.

Walau bagaimanapun, pendekatan ini mempunyai had: menetapkan Pengganda kepada 0 akan menghasilkan pembahagian dengan ralat sifar. Untuk mengurangkan perkara ini, seseorang boleh menapis masukan dengan nilai Pengganda lebih besar daripada 0 menggunakan klausa WHERE.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh 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