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 :

Requete SQL


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 32
    Points : 30
    Points
    30
    Par défaut Requete SQL
    Bonjour,

    G une base de données qui enregistre les points attribués à des réponses d'un formulaire comme suit :

    Le username
    Le numéro de la question
    Le numéro de la réponse
    Le nombre de points attribué à la réponse

    La clé est : Le username+La question+ La réponse

    Ce qui fait que je peux avoir plusieurs enregistrements pour la question 1 par exemple. Cependant, je veux ecrire une requete qui fera le total de tous les numeros de question de façon distincte pour chaque username.
    Je m'explique :
    Si le username toto à attribué 4 point à la réponse 2 de la question 1 et
    3 points à la réponse 5 de la question 1, je souhaite faire apparaitre le total des numeros distinct de question pour toto soit 1.

    Merci de votre aide...

  2. #2
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Salut,

    J'ai peut être pas compris ce que tu voulais, mais peut être que tu veux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sum(nbPts), username from table where username = 'toto' group by numQuestion
    nbPts correspond au champ nombre de points attribués à la réponse

    Cette requête devrait donner la somme des points par question pour l'utilisateur toto.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    Moi ce serait plus du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select  sum(numQuestion), username from table where username = 'toto'
    Seulement je ne veux pas additionner deux fois le meme numero de question...

    Mais merci tt de meme

  4. #4
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Je crois que ce coup-ci j'ai compris (enfin j'espère)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(numQuest) FROM (SELECT Distinct numquest, username from table Where username = 'toto') group by username
    Alors par contre, je ne suis pas très sûr de ma requête, mais l'idée serait de compter le nombre de question d'une requête qui récupère toutes les question DISTINCTES d'un utilisateur.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 54
    Points : 65
    Points
    65
    Par défaut
    ????? ce n'est pas tres clair comme définition du besoin

    1 > Le nombre de questions pour un user

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Select
               user , count( distinct question )
    from
               table
    group by
               user
    Ou suivant le SGBD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Select
               a.user , count( * ) 
    from
            ( select
                       distinct user , question
              from 
                        table
            ) as a
    Nota : Suivant la fonctionnelle utilisée, si la totalité des enregistrements est créée avant que le user ne réponde, les occurences ayant point à NULL sont à exclure

    2 > le total des points pour un user

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Select
               user , sum( point )
    from
               table
    group by
               user
    3 > le total des points par question pour un user

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Select
               user , question , sum( point )
    from
               table
    group by
               user, question
    Le tout à habiller si critere de selection sur un USER

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31
  2. Prob de requete sql et variable
    Par agent-zaizai dans le forum ASP
    Réponses: 11
    Dernier message: 21/10/2003, 16h54
  3. requete sql
    Par autumn319 dans le forum ASP
    Réponses: 22
    Dernier message: 10/09/2003, 16h46
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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