sql >> Database >  >> RDS >> Mysql

Selecteer het n-de percentiel uit MySQL

Dit geeft je ongeveer het 40e percentiel, het retourneert de rij waar 40% van de rijen kleiner is dan dat. Het sorteert rijen op hoe ver ze van het 40e percentiel verwijderd zijn, aangezien geen enkele rij precies op het 40e percentiel mag vallen.

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


  1. De Azure-kloof overbruggen:beheerde instanties

  2. Hoe vraag ik naar alle datums die groter zijn dan een bepaalde datum in SQL Server?

  3. De levensverwachting van de pagina in SQL Server bijhouden

  4. Totale functie over een bepaald tijdsinterval