IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Faire une moyenne en excluant des valeurs


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Faire une moyenne en excluant des valeurs
    Bonjour à tous.

    J'ai une base de donnée SQL Server 2008 R2. Dans une de mes tables, j'ai des montants (décimal), quantité,... Je voudrais faire une moyenne de prix par jour. J'ai bien sûr fait la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT AVG(price)
    FROM Markets;
    Le soucis vient du fait, que certains montant ne rien à faire dans ma moyenne.
    Exemple :
    Prix :
    122 000 $
    122 640 $
    123 000 $
    125 652 $
    127 000 $
    122 000 000 $

    Le 122M $ vient soit d'une erreur de saisie, soit "je tente ma chance" avec un gros montant. Dans tout les cas, ce genre de montant fait basculer la moyenne.

    Ma question : Comment faire une moyenne en excluant des montants qui n'ont rien à voir avec la moyenne réelle (montant max, ou des min) ?
    J'ai vu qu'il y a des commandes du genre : STDEV() ou VAR(). Cela me sort un chiffre... mais j'en fais quoi

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Alors commence par corriger tes donnees avant d'appliquer la moyenne.
    C'est aussi simple que cela n'est ce pas ?

  3. #3
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    D'apres ce que je peux voir c'est une moyenne reduite que tu cherches (sont loin les cours de stats...).

    J'ai trouve cet article qui donne des pistes:
    http://www.sqlteam.com/article/compu...ed-mean-in-sql

    Il doit etre possible de jouer avec le row_number() pour reecrire les queries.

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Alors commence par corriger tes donnees avant d'appliquer la moyenne.
    C'est aussi simple que cela n'est ce pas ?
    Comme toujours... non. J'ai plusieurs millions d'enregistrements dans cette table. Il y a plusieurs milliers d'objet différent, dans plusieurs endroit différent. Chaque région à son propre prix moyen.

    Citation Envoyé par Ptit_Dje Voir le message
    D'apres ce que je peux voir c'est une moyenne reduite que tu cherches (sont loin les cours de stats...).

    J'ai trouve cet article qui donne des pistes:
    http://www.sqlteam.com/article/compu...ed-mean-in-sql

    Il doit etre possible de jouer avec le row_number() pour reecrire les queries.
    Je vais regarder cet article, et je ferais un reply pour dire ce que ça donne. Merci.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/03/2011, 21h45
  2. Faire une moyenne en ignorant les valeurs nulles
    Par Giansolo dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/06/2007, 14h38
  3. Réponses: 2
    Dernier message: 26/10/2006, 17h52
  4. Boucler sur une table pour renommer des valeurs
    Par webwhisky dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 03/01/2006, 14h19
  5. Faire une moyenne en excluant les 0
    Par Lag dans le forum Access
    Réponses: 12
    Dernier message: 06/09/2005, 18h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo