[SQL] Problème de débutante classement

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. 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. Merci pour ta réponse, j'ai oublié de préciser, j'utilise mysql.
      0
    2. @sandulJ'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