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 :

UNION et COUNT(*)


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [RÉSOLU] UNION et COUNT(*)
    Bonjour,
    J'ai une table en Access contenant 3 colonnes avec des données qui se répètent. J'aimerais obtenir une seule colonne avec le nombre de fois que chaque enregistre est dans la col1, col2 ou col3.
    J'ai fait ceci qui me donne ce que je veux mais sans le nombre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT DISTINCT Col1
    FROM NomTable
    UNION
    SELECT DISTINCT Col2
    FROM NomTable
    UNION
    SELECT DISTINCT Col3
    FROM NomTable;
    Pour obtenir le nombre j'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT DISTINCT Col1, COUNT(*) AS Nb
    FROM NomTable
    GROUP BY Col1
    UNION
    SELECT DISTINCT Col2, COUNT(*) AS Nb
    FROM NomTable
    GROUP BY Col2
    UNION
    SELECT DISTINCT Col3, COUNT(*) AS Nb
    FROM NomTable
    GROUP BY Col3;
    Cette requête ne me donne pas ce que je souhaite, ça me donne le nombre de fois que pour chaque colonne séparée mais moi j'aimerais obtenir le nombre des 3 colonnes ensembles.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé comment faire...
    Il fallait faire deux requêtes.
    La première requête nommé "requete1" comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT Col1
    FROM NomTable
    UNION ALL
    SELECT Col2
    FROM NomTable
    UNION ALL
    SELECT  Col3
    FROM NomTable
    ORDER BY Diag1;
    Et la deuxième comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Col1, COUNT(*) AS Nb
    FROM requete1
    GROUP BY Col1;

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Tu n'avais pas bien expliqué ton problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT Col1, COUNT(*) AS Nb 
    FROM (SELECT DISTINCT Col1, COUNT(*) AS Nb 
              FROM NomTable 
              GROUP BY Col1 
              UNION 
              SELECT DISTINCT Col2, COUNT(*) AS Nb 
              FROM NomTable 
              GROUP BY Col2 
              UNION 
              SELECT DISTINCT Col3, COUNT(*) AS Nb 
              FROM NomTable
              GROUP BY Col3
              ) 
    GROUP BY Col1;

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

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

Discussions similaires

  1. Union et Count sur 2 select
    Par omelhor dans le forum Requêtes
    Réponses: 3
    Dernier message: 06/12/2011, 17h07
  2. [MySQL] UNION SELECT COUNT(*)
    Par zenso dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/07/2010, 11h39
  3. count(*) sur une union
    Par bigben89 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/07/2007, 13h14
  4. UNION de SELECT COUNT --> 1 seule lgne
    Par tiboleo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/02/2006, 15h46
  5. Union et count en meme temps
    Par julienr dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/07/2005, 09h30

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