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 :

Fonction COUNT nombre de lignes


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut Fonction COUNT nombre de lignes
    Bonjour,

    Dans le code ci-dessous je sélectionne les champs avec jointure de 3 tables.
    J'aimerais compter le nombre de ligne ou j'ai les 2 dernières lettres de la colonne MOTIF de la table S6PACTI qui se termine par JP et le nombre de ligne où j'ai les deux dernières lettres de la colonne MOTIF de la table S6PACTI qui se terminent par JN.

    Comment faire merci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT S6PACTI.* ,PLPPQUA.*,HOPEMPL.NOMPRE
    FROM S6PACTI
        JOIN PLPPQUA
        ON S6PACTI.MATRI=PLPPQUA.MATRI
        JOIN HOPEMPL
        ON S6PACTI.MATRI= HOPEMPL.MATRI
    WHERE PLPPQUA.CODEQUAL = 'IMP2' AND EXTRACT(DAY FROM DAT) = 1;

  2. #2
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Bonjour,

    Utilisez la fonction d'aggrégation COUNT.

    Cordialement,

    Arkhena
    A bove ante, ab asino retro, a stulto undique caveto

  3. #3
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Qu'est ce que tu n'arrives pas à faire exactement ?

    - pour compter utiliser COUNT et GROUP BY
    - pour extraire utiliser SUBSTR, RIGHT (cela dépend aussi de ton SGBD)
    ~ Lola ~

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Je voudrais insérer dans ce code, quelque chose qui me permette d'avoir :

    1) le nombre de ligne dans la table S6PACTI où les informations de la colonne MOTIF se terminent par JP.

    2) le nombre de ligne dans la table S6PACTI où les informations dela colonne MOTIF se terminent par JN.

    Quelle est la solution et concrètement comment le mettre en place dans le code existant ?

    Merci

  5. #5
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Bonjour,

    Désolée, mes services ne sont pas gratuits... Je veux bien aider quelqu'un qui fait un effort, mais quelqu'un qui demande que je fasse son travail gratuitement à sa place, non...

    Montrez ce que vous avez essayé et ce qui vous gêne et nous verrons pour vous aider...

    Cordialement,

    Arkhena
    A bove ante, ab asino retro, a stulto undique caveto

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Je suis novice en sql, alors j'essaye de comprendre ou et comment mettre en place le complément de code que je souhaite.

    Dans le code :
    1) je sélectionne mes tables
    2)je fais une jointure des matricules de la table S6PACTI avec les deux autre tables.
    3) je filtre sur la colonne CODEQUAL de la table PLPPQUA et sur la date.

    Je ne sais pas ou mettre en place le COUNT dans ce code.
    Je ne sais pas comment filtrer sur le JP et NP.

    merci

  7. #7
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Quel SGBD ?
    ~ Lola ~

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    et pourquoi ne pas commencer par le commencement en lisant les tutoriaux qui sont bien fait

    sur les regroupement

    attention à l'utilisation des étoiles avec des clauses de regroupement

    Je ne sais pas comment filtrer sur le JP et NP.
    aucune visualisation de cette partie dans la requête présentée ????? et avez-vous jeté un coup d'oeuil sur l'operateur LIKE ???

    Selon le SGBD, il existe la fonction REVERSE.......
    Merci d'ajouter un sur les tags qui vous ont aidé

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Où je peux trouver de quel SGBD il s'agit ?

  10. #10
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Sur quoi tu travailles ?

    Le SGBD c'est la base sur laquelle tes données sont stockées : Oracle, SQL Server, ...
    ~ Lola ~

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    ORACLE.

  12. #12
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Tu dois utiliser COUNT (cf tuto que t'as donné dehorter olivier) et utiliser la fonction SUBSTR pour récupérer les deux derniers caractères.

    Une piste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT SUBSTR(MaColonne,n), count(*)
    FROM MaTable
    WHERE SUBSTR(MaColonne,n) IN ('B','A')
    GROUP BY SUBSTR(MaColonne,n)
    ~ Lola ~

  13. #13
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Ok merci, mais je l'insère ou dans mon code existant.

  14. #14
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Citation Envoyé par jopont Voir le message
    Ok merci, mais je l'insère ou dans mon code existant.
    Honnêtement : est-ce que tu as lu ce qu'on t'as donné ? Ou tu attend que ça tombe tout cuit dans la bouche ?
    ~ Lola ~

  15. #15
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Oui j'ai lu, mais je ne sais absolument pas comment l'insérer dans mon code existant.

    J'essaye mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT S6PACTI.* ,PLPPQUA.*,HOPEMPL.NOMPRE,SUBSTR(S6PACTI.MOTIF,7), count(*)
    FROM S6PACTI
        JOIN PLPPQUA
        ON S6PACTI.MATRI=PLPPQUA.MATRI
        JOIN HOPEMPL
        ON S6PACTI.MATRI= HOPEMPL.MATRI
        WHERE PLPPQUA.CODEQUAL = 'IMP2' AND EXTRACT(DAY FROM DAT) = 1 AND (S6PACTI.MOTIF,7) IN ('JP','NP');

  16. #16
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Il manque le GROUP BY dans un premier temps.

    Et dans ton SELECT il faut que tu définisses ce que tu veux faire apparaitre exactement. Sachant que tous ce qui se trouve dans le select doit se trouver dans le group by.

    Au passage : ne fonctionne pas n'est pas forcément suffisant pour que nous trouvions le problème : pensez à donner l'erreur.
    ~ Lola ~

  17. #17
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    J'ai une erreur à la ligne 7 : opérateur relationnel non valide.

    merci

  18. #18
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Afin de vous ré expliquer ce que je voudrais, avec le code initial j'obtiens ceci :

    MATRI DATE CODEQUALI MOTIF CODEQUAL NOM
    00212 01/01/2012 OPE COAG60JP IMP2 DUPONT
    00212 01/01/2012 OPE COAG60NP IMP2 DUPONT
    00315 01/01/2012 OP4 COAG70JP IMP2 DURAND
    00212 01/01/2012 OP3 COAG60JP IMP2 JACQUES


    Ce que je souhaiterais, c'est avoir le total de ligne par date pour lesquellesle motif se termine par JP et pour lesquelles le motif se termine par NP.
    Dans l'exemple, pour le 1er janvier 2012, j'ai 3 ligne pour JP et une pour NP.

    Merci pour votre aide.

  19. #19
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    pour compter séparément vos motif utilisez la fonction sum avec un case / when.
    Et ceci en faisant un group by (voir le lien plus haut d'Olivier)

  20. #20
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Merci, mais étant débutant, je ne sais pas comment démarrer.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [AC-2007] Limite Module VBA Access: 1000 fonctions ou nombre de lignes ?
    Par jacou dans le forum VBA Access
    Réponses: 10
    Dernier message: 13/04/2010, 16h52
  2. Réponses: 4
    Dernier message: 21/12/2009, 11h12
  3. [XL-2007] Range en fonction du nombre de ligne
    Par luko6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2009, 14h26
  4. [SQL2005] requete en fonction du nombre de ligne d'une table
    Par tehes dans le forum Développement
    Réponses: 2
    Dernier message: 21/11/2007, 14h10
  5. [SQL2005] requete en fonction du nombre de ligne d'une table
    Par tehes dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/11/2007, 14h10

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