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 count group by


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Aide count group by
    Bonjour j'essaye de faire un count mais je ne parviens pas a obtenir exactement le resultat souhaité
    J'avoue encore apprendre les subtilités de SQL

    Pratiquement :

    J'ai deux tables : chauffeurs et tours
    La table tour donne des adresses a visiter par jour pour un chauffeur
    Les jours sont repartis de 1 a 10 sur 2 semaines
    Ce qui m'interesses c'est le nombre d'adresses disncte visitées par chaque chauffeur, j'ai fait un query qui fonctionne mais qui me donne en réalité le nombre de visites effectuées pour le chauffeur (s'i parcours 200 adresses deux fois, mon count sera 400) mais je veux 200

    Les tables sont tres simples

    J'ai essayé de faire le Group By par adressID mais la j'ai le nombre de visite pour chaque adresses

    Un petit coup de main pour comprendre serait bienvenu !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Table Chauffeur
    ChauffeurID
     
    Table Tour
    ChauffeurID
    jour
    AdressID

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         string selectcmd = "SELECT chauffeurs.chauffeurID, chauffeurs.naam, COUNT(*)"
          +" FROM chauffeurs Inner Join tours ON chauffeurs.chauffeurID = tours.chauffeurID" 
          +" GROUP BY tours.chauffeurID";

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    tu dois mettre dans le group by tous les champs non agrégés du select.

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Je ne sais pas si je te comprends bien
    Je ne te suis pas bien

    Si je fais le select ci apres le resultat me donne le count des visites
    Exemple
    Chauffeur1 = 400
    Chauffeur2 = 300

    Mais si je vais le select en mettant les valeurs comme je te comprends (voir apres)

    J'ai le count de visite par adresses
    Chauffeur1 = 2
    Chauffeur1 = 3
    Chauffeur1 = 1

    Ce qui m'intéresse encore moins que le premier résultat !
    Ce que je souhaite c'est le count d'adresses visitées distinctes

    Exemple
    Chauffeur1 = 200
    Chauffeur2 = 150



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     string selectcmd = "SELECT chauffeurs.chauffeurID, chauffeurs.naam, COUNT(*)"
          +" FROM chauffeurs Inner Join tours ON chauffeurs.chauffeurID = tours.chauffeurID" 
          +" GROUP BY tours.chauffeurID";
    Resultat
    Chauffeur1 = 400
    Chauffeur2 = 300



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     string selectcmd = "SELECT chauffeurs.chauffeurID, chauffeurs.naam, COUNT(*)"
          +" FROM chauffeurs Inner Join tours ON chauffeurs.chauffeurID = tours.chauffeurID" 
          +" GROUP BY tours.chauffeurID, tours.addrID";
    resultat
    Chauffeur1 = 2
    Chauffeur1 = 3
    Chauffeur1 = 1

Discussions similaires

  1. Aide sur requete de count groupé sur une plage horaire
    Par zax-tfh dans le forum Développement
    Réponses: 2
    Dernier message: 12/10/2012, 14h00
  2. Aide sur Group by , sum et count
    Par rippoz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/06/2007, 14h48
  3. Requete SQL : COUNT GROUP BY
    Par Florent08800 dans le forum Requêtes
    Réponses: 3
    Dernier message: 06/10/2006, 10h04
  4. fonction: renvoyer résultat d'un count .. group by ?
    Par ctobini dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/09/2006, 14h21
  5. [MySQL] Aide pour group by
    Par fallais dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 23/09/2006, 21h00

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