[SQL] Problème de débutante classement

nothgot Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
nothgot Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je me permets de poster un message, parce que ça fait plusieurs jours que je rame... J'espère que vous pourrez m'aider.

Alors j'ai une table_scores avec:
- jeu_id
- user_id
- score_jeu

Je souhaiterais récupérer les user_id des 5 premiers de chaque jeux:

Jeu_id - placeun - placedeux - placetrois - placequatre - placecinq

J'espère avoir été suffisamment claire.

Par avance, merci pour votre aide.
Configuration: Windows XP
Firefox 3.0.1

1 réponse

  1. sandul Messages postés 4013 Statut Membre 723
     
    Salut,

    Ceci s'appelle une pivot query... En fonction de ta base utilisée, la syntaxe sera différente. Regarde par ici pour une syntaxe Oracle:
    http://www.adp-gmbh.ch/ora/sql/examples/pivot.html

    hth,
    ++
    0
    1. nothgot Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci pour ta réponse, j'ai oublié de préciser, j'utilise mysql.
      0
      1. nothgot Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   > sandul Messages postés 4013 Statut Membre
         
        J'ai fait des tas de recherches sur google.

        Seulement, les résultats renvoyés ne m'ont pas plus aidés.

        Je suis allée sur le lien que tu as donné, mais je ne comprends pas non plus :-(

        Voici ce que j'ai fait pour le moment:

        SELECT jeu_id, score_jeu, user_id
        		FROM SCORES_TABLE  AS s
        		WHERE (
        				SELECT COUNT(*)
        				FROM SCORES_TABLE . '	AS s1
        				WHERE s1.score_jeu > s.score_jeu
        				AND s.game_id = s1.game_id
        				ORDER BY game_id, score_game DESC
        				)<5
        		ORDER BY game_id, score_game DESC';


        Cette requête me renvoie bien les 5 premiers de chaque jeux mais sous forme de lignes, non pas sous forme de colonnes.
        0