Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione o enésimo percentil do MySQL


Isso lhe dará aproximadamente o percentil 40, ele retorna a linha onde 40% das linhas são menores que isso. Ele classifica as linhas de acordo com a distância do percentil 40, pois nenhuma linha pode cair exatamente no percentil 40.
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