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 :

Pb pour compter le nb de ligne (COUNT)


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 37
    Points : 28
    Points
    28
    Par défaut Pb pour compter le nb de ligne (COUNT)
    Bonjour,

    J'ai un table contenant, en autre 3 champs :

    • ID : clé primaire
      NUM_FAC : numéro de facture
      NUMCONADH : numéro d'adhésion


    J'aimerais compter le nombre total de NUMCONADH par NUM_FAC. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ID   FAC_NUM   NUMCONADH
    ------------------------
    1    A         10
     
    2    B         10
    3    B         20
    4    B         20
     
    5    C         30
    6    C         30
     
    FAC_NUM = A -> 1 NUMCONADH
    FAC_NUM = B -> 2 NUMCONADH
    FAC_NUM = C -> 1 NUMCONADH
    Il faudrait que ma requête me donne donc le total = 4 NUMCONADH.

    Pouvez-vous m'aider pour la requête car je n'arrive pas à voir comment la faire ?

    Merci d'avance pour vos réponse.

    Kévin

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye
    Solution bidouille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT COUNT(DISTINCT FAC_NUM || '$$' || NUMCONADH)
    FROM laTable
    || = concaténation sous ORACLE, peut être différent sur ton moteur
    le '$$' est ajouté pour éviter des problème comme 'A' || '010' qui est = à 'A0' || '10' (peut-être impossible dans ton cas).
    Autre solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT SUM(Nombre)
    FROM (SELECT COUNT(DISTINCT NUMCONADH) as Nombre
          FROM laTable
          GROUP BY FAC_NUM)
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    C'est super, les deux solutions marche bien

    1er solution) joli bidouille qui a le mérite de bien marcher

    2ème solution) je ne savais même pas que l'on pouvait mettre une sous-requête derrière un FROM pour faire comme si c'était une table.

    Je ne sais pas à vrai dire quel est la solution la plus performante mais en tout cas, je te remercie beaucoup.

    Bonne journée.

    Kévin

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

Discussions similaires

  1. Requête pour compter le nombre de lignes d'une procédure stockée?
    Par toutounesan dans le forum Développement
    Réponses: 13
    Dernier message: 06/06/2012, 12h59
  2. script pour compter des lignes de codes
    Par zg2pro dans le forum Linux
    Réponses: 6
    Dernier message: 08/12/2007, 14h14
  3. Réponses: 5
    Dernier message: 16/02/2007, 16h03
  4. Problème pour compter les lignes d'un résultat
    Par Yoshidu62 dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/07/2006, 11h18
  5. Réponses: 6
    Dernier message: 22/09/2005, 11h50

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