Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menghitung Median dengan Mysql

Saya mengusulkan cara yang lebih cepat.

Dapatkan jumlah baris:

SELECT CEIL(COUNT(*)/2) FROM data;

Kemudian ambil nilai tengah dalam subquery yang diurutkan:

SELECT max(val) FROM (SELECT val FROM data ORDER BY val limit @middlevalue) x;

Saya menguji ini dengan kumpulan data 5x10e6 angka acak dan akan menemukan median dalam waktu kurang dari 10 detik.

Ini akan menemukan persentil arbitrer dengan mengganti COUNT(*)/2 dengan COUNT(*)*n dimana n adalah persentil (.5 untuk median, .75 untuk persentil ke-75, dst).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Contoh minimal menggunakan pilih... untuk pembaruan untuk mengisolasi baris

  2. Penomoran baris dengan p:dataTable

  3. Django dan koneksi database hanya-baca

  4. Pemecahan Masalah:Kesalahan MySQL/MariaDB #1044 Е Akses Ditolak untuk Pengguna

  5. MySQL tidak memulai saat memutakhirkan OSX ke Yosemite atau El Capitan