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 :

selection avec group by mais ne garder que ...


Sujet :

Langage SQL

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 43
    Points : 41
    Points
    41
    Par défaut selection avec group by mais ne garder que ...
    Salut !
    En fait je veux selectionner toutes le lignes de mon tableau ou il y au moins 2 fois le même nom.

    Faire un group by mais je ne veux garder dans mon resultat que ceux qui apparaissent deux fois au moin

    Si 2 personne au pour nom bertrand , ils seront dans mon resultat et si il n'y a qu'une personne qui réopnd au nom de bertrand je ne l'ai pas dans ma selection.

    mais comment faire MERCI

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    Je connais pas le nom de tes champs
    mais je pense qu'il faut que tu fasses un having qui est la condition du group by

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT count(nom_personne)
    FROM personne
    GROUP BY nom_personne
    HAVING count(nom_personne)>1;

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 43
    Points : 41
    Points
    41
    Par défaut
    meci tout est bon

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 43
    Points : 41
    Points
    41
    Par défaut
    en fait c'est pas bon désolé , j'avais deja fait ça , moi ce que je veux c'est recuperé les prénom et non le nombre d'éléments .

    En gros tout les prénoms des personnes qui ont une autre personne du même nom , donc sans group by.

    ???????

  5. #5
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    Salut,

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT prenom
    FROM personne
    GROUP BY prenom
    HAVING count(prenom)>1;
    ne te convient pas?

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 43
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par nantais
    Salut,

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT prenom
    FROM personne
    GROUP BY prenom
    HAVING count(prenom)>1;
    ne te convient pas?
    Oui mais je ne veux pas faire un count sur le prenom ( ou un group by ) mais sur le nom de famille

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 776
    Points
    30 776
    Par défaut
    Ce serait donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT nom, prenom
    FROM personne
    GROUP BY nom, prenom
    HAVING count(*)>1;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT nom
    FROM personne
    GROUP BY nom
    HAVING count(*)>1;
    si seul le nom sert au regroupement...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    Perso, je ne vois pas trop ce que tu veux exactement...

    Donne des exemples de valeurs et ce que tu veux récupérer, ca sera plus simple...

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 43
    Points : 41
    Points
    41
    Par défaut
    j'ai m'a table personne

    je veux récuper les noms et prenoms des peronnes qui ont au moin une autre personne du même nom dans la table!

  10. #10
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    OK, et en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT prenom, nom
    FROM personne a
    where a.nom IN ( SELECT nom
                              FROM personne b
                              GROUP BY nom
                              HAVING count(*)>1)

  11. #11
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 776
    Points
    30 776
    Par défaut
    Citation Envoyé par Larson
    je veux récuper les noms et prenoms des peronnes qui ont au moin une autre personne du même nom dans la table!
    la voilà la question...
    et la réponse est
    select PRENOM, NOM
    from PERSONNE
    where NOM in
    ( select NOM
    from PERSONNE
    having count(*) > 1
    )
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  12. #12
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 776
    Points
    30 776
    Par défaut
    Citation Envoyé par nantais
    OK, et en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT prenom, nom
    FROM personne a
    where a.nom IN ( SELECT nom
                              FROM personne b
                              HAVING count(*)>1)
    Grillé...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  13. #13
    Débutant
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 43
    Points : 41
    Points
    41
    Par défaut
    MERCI ,j'y avais pas pensé ! c'est ça la réponse

    juste rajouté le grou by parce que sql server demande à ce que je select face parti du group by
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select	PRENOM, NOM 
    from	PERSONNE 
    where 	NOM in 
    	( 	select	NOM 
    		from 	PERSONNE 
                                    GROUP BY NOM
    		having	count(*) > 1
    	)

    MERCI

  14. #14
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 776
    Points
    30 776
    Par défaut
    Citation Envoyé par Larson
    juste rajouté le grou by parce que sql server demande à ce que je select face parti du group by
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select	PRENOM, NOM 
    from	PERSONNE 
    where 	NOM in 
    	( 	select	NOM 
    		from 	PERSONNE 
                                    GROUP BY NOM
    		having	count(*) > 1
    	)
    Réponse trop rapide = réponse incomplète Toutes mes excuses
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

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

Discussions similaires

  1. Requête select avec group by
    Par H-bil dans le forum SQL
    Réponses: 6
    Dernier message: 13/01/2012, 15h20
  2. select avec group by sur la date la plus recente
    Par maysa dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/07/2010, 12h02
  3. requete select avec group by
    Par lekonquerant dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/09/2009, 14h28
  4. simple select avec date, mais ne fonctionne pas
    Par ralcoc dans le forum Oracle
    Réponses: 5
    Dernier message: 03/07/2006, 22h59
  5. SELECT avec RAND() mais plus avancé
    Par Sebou San dans le forum Requêtes
    Réponses: 6
    Dernier message: 06/11/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