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