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 :

Compter le nombre d'occurrences retournées par une requête


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 63
    Points : 48
    Points
    48
    Par défaut Compter le nombre d'occurrences retournées par une requête
    bonjour,

    Je suis en train de faire une petite appli de dédoublonnage. J'ai fais une requête de ce genre que j'ai trouver sur le forum d'ailleurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom FROM catalogue GROUP BY nom HAVING COUNT(*)>1
    Cette requête me retourne tout les noms qui apparaissent plus d'une fois dans la BDD, jusque la tout va bien. Maintenant je voudrais obtenir par une requête nombre de noms que apparaissent plus d'une fois dans la BDD. La je bug!
    J'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(nom) FROM catalogue GROUP BY nom HAVING COUNT(*)>1
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM catalogue GROUP BY nom HAVING COUNT(*)>1
    mais ces 2 requêtes me retourne le nombre de fois que chaque nom apparait. Moi je voudrais une seule chiffre: en gros le nombre de doublons??

    Quelqu'un a une idée?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 240
    Points : 12 872
    Points
    12 872
    Par défaut
    Bonjour,
    Si la requête suivante te renvoie les doublons:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT nom FROM catalogue GROUP BY nom HAVING COUNT(*)>1
    Celle-ci compte les lignes de la première:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select count(*) from (SELECT nom FROM catalogue GROUP BY nom HAVING COUNT(*)>1)
    Par contre je ne sais pas si c'est la plus optimisée

    Tatayo.

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 63
    Points : 48
    Points
    48
    Par défaut
    C'est bon ne te casse pas la tête je n'ai pas des milliers d'occurences donc cela suffira amplement. Je ne pensais pas que l'on pouvait imbriquer les requêtes de cette manière. Par contre il faut donner un alias à la sous requête.

    Encore merci!

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

Discussions similaires

  1. Nombre de rows retournés par une requète
    Par awalter1 dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 03/07/2008, 09h17
  2. Réponses: 2
    Dernier message: 17/04/2008, 11h16
  3. [HQL] Nombre de colonnes retourné par une requête
    Par Fr@ncky dans le forum Hibernate
    Réponses: 4
    Dernier message: 13/07/2007, 13h47
  4. [T-SQL] Connaître le nombre de colonnes retourner par une PS
    Par NeoMan dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/12/2005, 11h30
  5. Compter le nombre d'enreg retournés par un DBExtract
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 02/11/2004, 14h15

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