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

Langage SQL Discussion :

Aide pour des requêtes SQL


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Points : 40
    Points
    40
    Par défaut Aide pour des requêtes SQL
    Bonjour a tous,

    J'ai besoin d'aide pour plusieurs requêtes.

    Tout d'abord, celle-ci :

    Nombre moyen d'additions par personne.

    J'ai dans ma BDD une table addition jointe à une table personne.

    En fait, il faut deja compter le nombre d'addition par personne et diviser ce nombre par le nombre total de personnes.

    Comment peut-on faire cela ?

    AVG(COUNT(*)) ce n'est pas possible sur ACCESS.

    Merci beaucoup
    Images attachées Images attachées  

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    Tu peux faire comme ci dessus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     select avg(C1) from
    (select count(*) as C1
    from "TATABLE"
    group by "CHAMPS de REGROUPEMENT"
    )
    Bonne chance

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Points : 40
    Points
    40
    Par défaut
    J'ai fait cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT num_personne, AVG(C1) AS NbMoyen
    FROM (SELECT num_personne, COUNT(*) AS C1 FROM Addition GROUP BY num_personne) C1
    GROUP BY num_personne;
    Mais le résultat affiche le nombre d'additions par personne. par contre, si je fais cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT AVG(C1) AS NbMoyen
    FROM (SELECT COUNT(*) AS C1 FROM Addition GROUP BY num_personne);
    cela m'affiche qu'un nombre, le nombre moyen d'additions mais pas par personne.

    Aie Aie Aie !!!!

  4. #4
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Points : 40
    Points
    40
    Par défaut
    Bon comme personne ne voit comment faire, je passe à une autre requête :

    Aidez-vous du shéma de relations que je vous ai fourni.

    Catégorie de plat la plus commandée pour chaque ville.
    Qui est venu plus souvent que tous les clients de Metz ?
    2 plats les plus commandés

    Merci de votre aide précieuse

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    En fait, il faut deja compter le nombre d'addition par personne et diviser ce nombre par le nombre total de personnes.
    Pour obtenir le nombre d'additions par personne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT num_personne, count(*) AS NbTotal
    FROM Addition
    GROUP BY num_personne
    Pour obtenir le nombre de personnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(*) as C1
    FROM Addition
    GROUP BY num_personne
    Pour obtenir le nombre moyen d'additions par personne, diviser le nombre d'additions de chaque personne par le nombre total de personnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT num_personne, count(*)/C1 AS NbMoyen
    FROM Addition,
         (SELECT count(*) as C1
         FROM Addition
         GROUP BY num_personne) R1
    GROUP BY num_personne

Discussions similaires

  1. Besoin d'aide pour des requêtes SQL
    Par Quentelp dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/05/2015, 16h12
  2. aide pour une requête sql/plpgsql
    Par viny dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/11/2007, 11h32
  3. Besoin d'aide pour une requête SQL
    Par Borami dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/11/2005, 10h33
  4. Besoin d'aide pour optimiser requête SQL
    Par Keuf95 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 06/09/2005, 16h02
  5. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56

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