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 :

Comment compter les lignes et les lignes distinctes d'une table SQL Server (T-SQL) ?


Sujet :

Langage SQL

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut Comment compter les lignes et les lignes distinctes d'une table SQL Server (T-SQL) ?
    Bonjour,

    J'ai une table MaTable avec les champs Champ1 et Champ2.
    Je voudrais retourner une table à une ligne et deux champ MyCount et MyDistinctCount.J'en suis là
    SELECT COUNT(*) AS MyDistinctCount FROM
    (SELECT DISTINCT Champ1,Champ2 FROM MaTable) AS MonAlias
    Je n'arrive pas à placer mon SELECT COUNT(*) AS MyCount FROM MaTable.
    Comment compter les lignes et les lignes distinctes d'une table SQL Server (T-SQL) ?

    a+, =)
    -=Clement=-

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    C'est barbare et il y a surement mieux mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT 
           COUNT(T1.Ensemble)
         , T2.Ligne
     FROM
           (SELECT 
                    DISTINCT Champ1
                               ,Champ2 AS Ensemble 
            FROM MaTable) AS T1,
           (SELECT 
                     COUNT(*) AS Ligne
            FROM MaTable) AS T2
    Enfin dans le genre
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  3. #3
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Est ce que ce genre de requete peut vous aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select 
             count(1) as "Nbre de lignes distinctes", 
             sum(cpt) as "Nbre de lignes tot" 
    from (
          select 
               count(1) as cpt 
          from MaTable 
          group by champ1,champ2) a
    A tester et adapter
    Bon courage
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Merci, mais la requête semble fausse
    Msg 8120, Level 16, State 1, Line 1
    Column 'T2.Ligne' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.


    edit: @Chtulus

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    @Yanika_bzh
    Merci ça fonctionne

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/06/2014, 08h30
  2. Réponses: 2
    Dernier message: 13/02/2014, 10h00
  3. [XL-2010] Macro pour inserer des ligne avec les formules de la ligne au dessus
    Par Argonan dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/02/2012, 12h58
  4. Réponses: 5
    Dernier message: 08/10/2008, 17h33

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