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

PL/SQL Oracle Discussion :

Moyenne et comptage en tout genre


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 40
    Par défaut Moyenne et comptage en tout genre
    Bonjour

    j aimerai avoir votre aide sur un certain nombre de sujet sur lesquels je travaille actuellement

    je présente un exemple de la table sur laquelle je te travaille

    ID date RANK1 RANK2 DELTA
    000361 31/05/2005 21 21 0
    000361 30/06/2005 22 21 1
    000361 31/07/2005 22 21 1
    000361 31/08/2005 21 21 0
    000361 30/09/2005 21 21 0
    000361 31/10/2005 21 21 0
    000361 30/11/2005 20 19 1
    000361 31/12/2005 20 18 2
    000361 31/01/2006 21 20 1
    000361 28/02/2006 21 20 1
    000361 31/03/2006 20 19 1
    000361 30/04/2006 21 21 0
    000361 31/05/2006 21 21 0
    000361 30/06/2006 21 21 0
    000361 31/07/2006 21 21 0
    000361 31/08/2006 21 21 0
    000361 30/09/2006 21 20 1
    000361 31/10/2006 20 19 1
    000361 30/11/2006 20 19 1
    000361 31/12/2006 20 18 2
    000361 31/01/2007 20 17 3
    000361 28/02/2007 20 18 2
    000361 31/03/2007 21 19 2
    000361 30/04/2007 20 18 2
    000361 31/05/2007 20 18 2
    000361 30/06/2007 20 18 2
    000361 31/07/2007 20 19 1
    000361 31/08/2007 19 17 2
    000361 30/09/2007 20 17 3
    000361 31/10/2007 19 17 2
    000361 30/11/2007 17 16 1
    000361 31/12/2007 15 15 0
    000361 31/01/2008 18 17 1
    000361 29/02/2008 19 17 2
    000361 31/03/2008 18 17 1
    000361 30/04/2008 21 19 2
    000361 31/05/2008 21 21 0
    000361 30/06/2008 23 22 1
    000361 31/07/2008 21 21 0
    000361 31/08/2008 22 21 1
    000361 30/09/2008 21 19 2
    000361 31/10/2008 19 17 2
    000361 30/11/2008 17 16 1
    000361 31/12/2008 17 16 1
    000361 31/01/2009 16 15 1
    000361 28/02/2009 17 16 1
    000361 31/03/2009 18 17 1
    000361 30/04/2009 19 17 2
    000361 31/05/2009 20 18 2
    000361 30/06/2009 19 17 2
    000361 31/07/2009 18 17 1
    000361 31/08/2009 19 17 2
    000361 30/09/2009 17 16 1
    000361 31/10/2009 17 17 0
    000361 30/11/2009 18 17 1
    000361 31/12/2009 17 16 1
    000361 31/01/2010 17 15 2
    000361 28/02/2010 17 16 1
    000361
    000361 16
    000361 17
    000892 31/05/2005 12 10 2
    000892 30/06/2005 14 11 3
    000892 31/07/2005 13 12 1
    000892 31/08/2005 13 12 1
    000892 30/09/2005 15 12 3
    000892 31/10/2005 14 12 2
    000892 30/11/2005 11 10 1
    000892 31/12/2005 11 7 4
    000892 31/01/2006 11 10 1
    000892 28/02/2006 11 10 1
    000892 31/03/2006 11 10 1
    000892 30/04/2006 5 7 -2
    000892 31/05/2006 13 12 1
    000892 30/06/2006 14 12 2
    000892 31/07/2006 13 13 0
    000892 31/08/2006 11 10 1
    000892 30/09/2006 10 8 2
    000892 31/10/2006 6 7 -1
    000892 30/11/2006 5 7 -2
    000892 31/12/2006 5 7 -2
    000892 31/01/2007 5 6 -1
    000892 28/02/2007 6 6 0
    000892 31/03/2007 5 5 0
    000892 30/04/2007 6 6 0
    000892
    001031 31/05/2005 23 22 1
    001031 30/06/2005 23 22 1
    001031 31/07/2005 23 22 1
    001031 31/08/2005 23 22 1
    001031 30/09/2005 24 22 2
    001031 31/10/2005 24 22 2
    001031 30/11/2005 23 22 1
    001031 31/12/2005 23 22 1
    001031 31/01/2006 23 22 1
    001031 28/02/2006 23 22 1
    001031 31/03/2006 22 22 0
    001031 30/04/2006 22 22 0
    001031 31/05/2006 22 21 1
    001031 30/06/2006 20 19 1
    001031 31/07/2006 19 18 1
    001031 31/08/2006 20 18 2
    001031 30/09/2006 19 17 2
    001031 31/10/2006 18 17 1
    001031 30/11/2006 18 17 1
    001031 31/12/2006 18 17 1
    001031 31/01/2007 20 18 2
    001031 28/02/2007 20 19 1
    001031 31/03/2007 21 19 2
    001031 30/04/2007 20 19 1
    ce qu on me demande de faire sur PL/SQL :

    - Moyenne du nombre de delta
    - moyenne des ID qui ont des ecart
    - nombre d id sans ecart
    - nombre id avec ecart
    - mediane des ecarts
    - mediane des ej avec des ecarts
    - nombre d id par ecart


    merci encore pour votre aide

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Quel est le problème (A moins que tu ne veuilles qu'on fasse tout à ta place) ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 40
    Par défaut Moyenne et comptage en tout genre
    Non c est sur que j ai pas envie qu on fasse tout a ma place sinon j apprendrai rien

    mais j aimerai avoir des indications sur comment faire
    j ai lu que la fonction avg peut aider mais je ne sais pas trop comment l appliquer a ma table

    en tout cas merci pour votre aide

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Regardez Aggregate Functions pour commencer.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 40
    Par défaut Moyenne et comptage en tout genre
    J ai pas attendu avant de m y mettre en essayant de tester des choses
    j ai regardé les tutos des fonctions Oracle

    l'idée de départ c est de calculer la moyenne des delta par date
    par exemple : j ai plusieurs delta au niveau du 31/05/2010 donc je veux qu il me calcule la moyenne en valeur absolu sur cette date vu que j ai plusieurs ID qui ont des delta sur cette même date

    La requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select date, 
    avg(abs(delta)) over(partition by date, id)   
           from ma table group by delta, date, id
    résultat je me retrouve avec 5000 fois le 31/05/2010 et des soit disant de moyenne de delta bizarre

    voila ce que ca donne

    31/05/2005 0
    31/05/2005 2
    31/05/2005 1
    31/05/2005 0
    31/05/2005 0
    31/05/2005 1
    31/05/2005 2
    31/05/2005 1
    31/05/2005 1
    31/05/2005 0
    31/05/2005 1
    31/05/2005 2
    31/05/2005 1
    31/05/2005 2
    31/05/2005 1
    31/05/2005 1
    31/05/2005 0
    31/05/2005 2
    31/05/2005 1
    31/05/2005 2
    31/05/2005 0
    31/05/2005 1
    31/05/2005 6
    31/05/2005 1
    31/05/2005 3
    31/05/2005 3

  6. #6
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Pour le delta, il faut donc que tu calcules la somme des delta par date, puis que tu fasses la moyenne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select avg(d) from (select sum(delta) d GROUP BY date)

Discussions similaires

  1. [benevola]Site stockage codeur en tout genre
    Par n1up.eu dans le forum Autres
    Réponses: 0
    Dernier message: 02/06/2008, 11h29
  2. [DB] Update de DbGrid en tout genre
    Par melles dans le forum Bases de données
    Réponses: 8
    Dernier message: 02/10/2006, 08h25
  3. [XHTML] Quelques questions en tout genre
    Par j14z dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/11/2005, 21h46

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