2010-08-17 4 views
1

Comment peut-on trouver le percentile, l'asymétrie et l'aplatissement dans MySQL? Y a-t-il une formule? Je veux trouver les trois ci-dessus pour un grand nombre d'enregistrements de données.MySQL - requêtes mathématiques

Merci, J

Répondre

3

Jillika,

Voici une requête simple pour dissymétrie et l'excès kurtosis pour les données dans la table de "pubs" de base de données exemple de Microsoft [ventes]:

select sum((qty-mean)*square(qty-mean) 
     /(N*sigma*square(sigma))) as skew, 
     sum(square(square(qty-mean)) 
     /(N*square(square(sigma))))-3 as ExcessKurtosis 
from pubs..sales, 
(
    select 
    avg(qty) as mean, 
    stdev(qty) as sigma, 
    count(qty) as N 
    from pubs..sales 
) S 

(Ceci et d'autres requêtes statistiques sont postés ici: http://users.drew.edu/skass/sql/, et une requête pour Spearman's rho est ici: http://stevekass.com/2008/03/29/spearmans-rho-for-sql-server/).

Regardez également ce que Dejan Sarka a écrit sur le sujet here.

1

Je dois regarder dans la référence, mais juste au cas où vous ne trouvez pas la fonction mathématique dont vous avez besoin, jetez un oeil à stored procedures. Avec ceci, vous pouvez définir vos propres algorithmes, s'ils ne sont pas déjà présents.

Voici un joli tutorial, que vous voudrez peut-être examiner.