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 :

Classement de plusieurs résultats si victoire ou deuxième place


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Architecte
    Inscrit en
    Septembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Septembre 2018
    Messages : 9
    Par défaut Classement de plusieurs résultats si victoire ou deuxième place
    Bonjour à tous,

    Je vous avoue, je sèche complètement sur ce souci...

    Je vous expose mon petit problème....

    J'ai une DB Mysql avec une table qui reprend les résultats de différents tournois de poker.
    Cette table s'appelle "tbl_player".

    Dans cette table, je retrouve plusieurs informations, et notamment :

    • l'id du user qui a joué un tournoi (id_user_fk)

    • Sa position en fin de tournoi (player_pos)

    • L'id du tournoi joué (id_tour_fk), ce qui n'est pas important ici


    il faut savoir que cette table compte bien évidemment plusieurs fois le même "id_user_fk" vu que chaque joueur a joué de 1 à x tournois.


    Voilà ma question :

    J'aimerai savoir contre qui (donc une autre valeur pour id_user_fk au sein de la même table) le joueur qui a "id_user_fk"=1 a le plus joué quand lui ou son adversaire était premier ou second, et accessoirement le nombre de fois que cela est arrivé.


    En résumé, et pour donner un exemple, j'aimerai obtenir une sortie du genre :

    Le joueur id_user_fk =1 a rencontre en final (en finissant premier ou deuxième) le joueur id_user_fk = 8 (en finissant premier ou deuxième) à 5 reprises.


    En espérant avoir été clair

    Déjà un grand merci pour votre retour !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 136
    Par défaut
    Bonjour,

    Qu'as-tu déjà essayé comme requête ?

    Pour bien comprendre ton besoin, peux-tu préciser comment on peut savoir que deux participants ont joué l'un contre l'autre ?
    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.

  3. #3
    Membre régulier
    Homme Profil pro
    Architecte
    Inscrit en
    Septembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Septembre 2018
    Messages : 9
    Par défaut
    Bonjour,

    Merci de l'intérêt pour ma question et désolé pour réponse tardive !

    Dans la pratique, que les deux joueurs aient joué le même tournoi n'est pas une fin en soi...

    je m'explique, on encode tous les résultats de chaque tournoi de poker joué (sur plusieurs années)

    j'ai une "fiche" joueur qui reprend les principales statistiques du joueur sélectionné, que nous allons appelé PIERRE ici pour l'exemple.

    Dans la fiche de PIERRE, j'aimerai voir (sur TOUS les tournois joués) quels joueurs (et le nombre de fois) il a rencontré le plus souvent en final... donc lorsque PIERRE était premier (dans ce cas-là il faut trouver qui était second) ET lorsque PIERRE était second (dans ce cas-là il faut trouver qui était premier).
    Je ne veux pas "savoir" si PIERRE a fini premier ou second, je veux juste savoir qui il a rencontré quand il était premier OU second.

    De la sorte, je pourrai sortir un résultat du genre :

    PIERRE a rencontré 8 fois JAQUES en final
    PIERRE a rencontré 6 fois LUC en final
    PIERRE à rencontré 2 fois PAUL en final
    PIERRE a rencontré 1 fois SIMON en final
    PIERRE a rencontré 1 fois JEAN en final
    PIERRE a rencontré 1 fois DIDIER en final

    En espérant avoir été assez clair

    Merci !

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 136
    Par défaut
    Je vais reformuler ma question :

    Comment sait-on que PIERRE a rencontré JACQUES en finale ?
    Qu'est-ce qui, dans la structure de la base de données, nous donne cette information ?

    Pour t'aider à construire ta requête, il faudrait que tu communiques :
    • La structure des tables en jeu et les relations entre celles-ci
    • Un petit jeu d'essai
    • Le résultat attendu à partir de ce jeu d'essai
    • Les requêtes que tu as déjà essayées
    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.

  5. #5
    Membre régulier
    Homme Profil pro
    Architecte
    Inscrit en
    Septembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Septembre 2018
    Messages : 9
    Par défaut
    Re,

    Pour répondre à ta question, un des champs de la table est "player_pos".
    Ce champs prend la position du joueur pour chaque tournoi auquel il a participé.

    Nous avons donc des entrées dans la DB du genre :
    id_user_fk = 1
    player_pos = 1
    id_tour_fk = 150
    //////////////////////////
    id_user_fk = 8
    player_pos = 2
    id_tour_fk = 150
    //////////////////////////
    id_user_fk = 21
    player_pos = 3
    id_tour_fk = 150

    Et ainsi de suite... Etant donné qu'il y a déjà plus de 200 tournois dans la DB et qu'en moyenne il y +/- 12 joueurs par tournoi, la table comprend déjà plus de 2.400 entrées

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 136
    Par défaut
    Je vais reposer mes questions :

    Citation Envoyé par al1_24 Voir le message
    Comment sait-on que PIERRE a rencontré JACQUES en finale ?
    Qu'est-ce qui, dans la structure de la base de données, nous donne cette information ?

    Pour t'aider à construire ta requête, il faudrait que tu communiques :
    • La structure des tables en jeu et les relations entre celles-ci
    • Un petit jeu d'essai
    • Le résultat attendu à partir de ce jeu d'essai
    • Les requêtes que tu as déjà essayées
    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.

Discussions similaires

  1. [MySQL] Affichage impossible de plusieurs résultats
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 21/04/2006, 19h40
  2. Réponses: 2
    Dernier message: 09/01/2006, 19h45
  3. Jointure avec plusieurs résultats
    Par kemenaran dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/12/2005, 23h21
  4. Réponses: 7
    Dernier message: 26/09/2005, 17h50
  5. Une fonction peut-elle retourner plusieurs résultats ?
    Par aragorns dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/03/2005, 22h18

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