Mysql
 sql >> Database >  >> RDS >> Mysql

Seleziona l'ennesimo percentile da MySQL

Questo ti darà circa il 40° percentile, restituisce la riga in cui il 40% delle righe è inferiore a essa. Ordina le righe in base alla distanza dal 40° percentile, poiché nessuna riga può rientrare esattamente nel 40° percentile.

SELECT m1.field, m1.otherfield, count(m2.field) 
  FROM mydata m1 INNER JOIN mydata m2 ON m2.field<m1.field
GROUP BY 
   m1.field,m1.otherfield
ORDER BY 
   ABS(0.4-(count(m2.field)/(select count(*) from mydata)))
LIMIT 1