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

MS SQL Server Discussion :

compter les doublons


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 45
    Points
    45
    Par défaut compter les doublons
    Bonjour,

    Je voudrais avoir le nombre de doublons pour chaque personne de ma table.

    ex :
    id nom
    00001 TOTO
    00001 TOTO
    00002 TITI
    00003 TOTO
    00003 TOTO
    00004 TUTU
    00004 TUTU
    ...
    Je voudrais avoir comme résultat : la personne + Nb de doublons
    TOTO 2
    TUTU 1

    J'ai fait la requete suivante mais cela ne fonctionne pas !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select count(nom),nom
    from matable
    group by nom
    where id in (SELECT id
    FROM matable
    GROUP BY id
    HAVING COUNT(*)>1)
    Merci de m'aider et de me dire ce qui ne va pas !

    Cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT nom, count(*)
    FROM matable
    GROUP BY nom

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Je pense plutôt à ce besoin :
    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
    ;With MaTable (id, nom) as
    (
    select '00001', 'TOTO' union all
    select '00001', 'TOTO' union all
    select '00002', 'TITI' union all
    select '00003', 'TOTO' union all
    select '00003', 'TOTO' union all
    select '00004', 'TUTU' union all
    select '00004', 'TUTU'
    )
      ,  sr (id, nom) as
    (
      select id, nom
        from MaTable
    group by id, nom
      having count(*) > 1
    )
      select nom, count(*) as nb_doublons
        from sr
    group by nom;
     
    nom  nb_doublons
    ---- -----------
    TOTO 2
    TUTU 1
    Avec une fonction de fenêtrage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      select distinct nom,
             count(*) over(partition by nom) as nb_doublons
        from MaTable
    group by id, nom
      having count(*) > 1;
     
    nom  nb_doublons
    ---- -----------
    TOTO 2
    TUTU 1

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Je pense plutôt à ce besoin
    Vu la précision de la demande, on peut à peu près tout proposer sans être certain...

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    bonjour,

    Merci waldar, c'est bien la réponse que j'attendais.
    Je ne connaissait pas du tout le over partition by . Je vais m'y attarder grâce à toi.
    Encore merci pour votre aide !!

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

Discussions similaires

  1. [MySQL] Utilisé SUM sans compter les doublons
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/12/2009, 21h04
  2. [DeskI V5-V6] Compter les doublons dans un tableau
    Par limouzin dans le forum Débuter
    Réponses: 4
    Dernier message: 25/02/2009, 13h34
  3. Comment compter les doublons d'une colonne?
    Par Dnx dans le forum Langage SQL
    Réponses: 8
    Dernier message: 07/11/2005, 10h50

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