Mengira median (nilai tengah dalam set data berangka) boleh mencabar dalam MySQL. Walaupun pengiraan min menggunakan AVG(x) adalah mudah, mencari median memerlukan pendekatan yang lebih kompleks.
Untuk memudahkan pengiraan median, MariaDB/MySQL menyediakan pertanyaan berikut:
<code class="language-sql">SELECT AVG(dd.val) as median_val FROM ( SELECT d.val, @rownum:=@rownum+1 as `row_number`, @total_rows:=@rownum FROM data d, (SELECT @rownum:=0) r WHERE d.val is NOT NULL -- 在此处添加任何必要的 WHERE 子句 ORDER BY d.val ) as dd WHERE dd.row_number IN ( FLOOR((@total_rows+1)/2), FLOOR((@total_rows+2)/2) );</code>
Pertanyaan ini menggunakan teknik berikut:
FLOOR((@total_rows 1) / 2)
dan FLOOR((@total_rows 2) / 2)
. Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Median dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!