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

Requêtes MySQL Discussion :

Trouver les éléments communs dans une même table


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Trouver les éléments communs dans une même table
    Bonjour, je n'arrive pas à trouver une requête retournant les points communs.
    Je travaille site de quiz et souhaite obtenir les quiz communs entre deux utilisateurs

    Voici la table ci-dessous, la requête devrait me retourner, pour user_id='1' et user_id='2', quiz_id = dc8d2f7f264c503e, car les deux utilisateurs ont répondus a ce quiz.

    Merci

    Nom : Capture.PNG
Affichages : 68
Taille : 15,5 Ko

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Salut lealexio.

    Vous devez faire une jointure sur la même table, afin de récupérer les points communs. Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select t1.user_id
           t2.user_id
     
          from  `votre_table` as t1
    inner join  `votre_table` as t2
            on  t2.question_id  = t1.question_id
           and  t2.quiz_id      = t1.quiz_id
           and  t2.user_id     <> t1.user_id;
    Vous obtiendrez la deuxième (reponse_id = 4) et quatrième ligne (reponse_id = 5) de votre table.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    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 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    J'apporterai une petite modification à la requête:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select t1.user_id
           t2.user_id
     
          from  `votre_table` as t1
    inner join  `votre_table` as t2
            on  t2.question_id  = t1.question_id
           and  t2.quiz_id      = t1.quiz_id
           and  t2.user_id     > t1.user_id;
    Sinon la requête va renvoyer 2 lignes par couple : 1 - 2 et 2 - 1, 4 - 5 et 5 - 4

    Tatayo.

Discussions similaires

  1. Max pour plusieurs éléments dans une même table
    Par Schwy dans le forum Requêtes
    Réponses: 12
    Dernier message: 07/10/2013, 17h17
  2. Copier un enregistrement dans une même table
    Par slammer dans le forum Langage SQL
    Réponses: 11
    Dernier message: 04/05/2010, 23h17
  3. Réponses: 12
    Dernier message: 09/11/2009, 19h56
  4. Connaitre les doublons dans une même table
    Par Space Cowboy dans le forum Requêtes
    Réponses: 3
    Dernier message: 12/06/2008, 11h28
  5. Problème pour trouver les données commune dans une requête
    Par Winterrage dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/02/2008, 10h14

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