Това ще ви даде приблизително 40-ия персентил, връща реда, където 40% от редовете са по-малко от него. Той сортира редовете според това колко далеч са от 40-ия персентил, тъй като нито един ред не може да попада точно на 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