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 :

Problème count avec distinct


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 51
    Par défaut Problème count avec distinct
    Bonjour,

    Je souhaiterais compter le nombre d'occurences différentes qu'il existe sur l'un de mes champs. J'utilise le mot clef distinct associer a un count mais cela ne semble pas marcher. Voici la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select distinct count(t.time_slot) from timelog t, exhibitentity e, roomentity r, simulation s 
    WHERE t.exhibit_id=e.id AND e.room_id=r.id AND r.simulation_id=s.id
    AND s.id=14
    ça me renvoie cette réponse :

    Alors que lorsque j'éxécute cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select distinct t.time_slot from timelog t, exhibitentity e, roomentity r, simulation s 
    WHERE t.exhibit_id=e.id AND e.room_id=r.id AND r.simulation_id=s.id
    AND s.id=14
    ça me renvoie cette réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    7800
    8700
    18000
    1500
    4200
    16800
    4500
    9900
    16500
    7200
    10800
    6000
    8100
    6300
    9600
    7500
    15000
    9300
    11100
    15900
    3900
    5700
    9000
    16200
    14100
    12000
    3000
    12600
    13200
    6900
    5400
    1200
    2400
    2100
    2700
    3300
    600
    11400
    1800
    17100
    14700
    300
    8400
    10500
    13800
    4800
    17400
    14400
    15600
    0
    3600
    900
    17700
    11700
    12900
    6600
    10200
    5100
    15300
    12300
    13500
    Il y a bien 61 occurences pour la deuxième solution mais pas pour la première. Pouvez-vous m'aider svp ?

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 434
    Par défaut
    Bonjour,
    Il faut mettre le DISTINCT dans le COUNT:

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select count(distinct t.time_slot) from timelog t, exhibitentity e, roomentity r, simulation s 
    WHERE t.exhibit_id=e.id AND e.room_id=r.id AND r.simulation_id=s.id
    AND s.id=14

    En effet, il ne faut pas renvoyer les différentes valeur du COUNT, mais compter les valeurs distinct de t.time_slot.

    Tatayo.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 51
    Par défaut
    Merci beaucoup je ne savais pas que cela pouvais se faire...


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

Discussions similaires

  1. [Debutante] Problème "Count" et "Distinct"
    Par cherryzlurve dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/01/2008, 21h30
  2. Count(*) avec DISTINCT
    Par jeyce dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/03/2007, 21h46
  3. Problème de requête SQL avec DISTINCT et COUNT ?
    Par [ZiP] dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/01/2007, 17h11
  4. problème count avec la valeur 0
    Par cristolb dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/07/2005, 09h39
  5. Problème requête avec group by et distinct
    Par tomca dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/07/2005, 16h10

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