Bonjour,
je bloque depuis un moment sur ce problème.
J'espère trouver l'aide de quelqu'un de confirmé sur ce forum.
Voici le problème:
Je souhaite faire un classement de score avec gestion des égalités.
Pour l'instant rien de compliqué avec ce type de code:
Le problème c'est que ma table n'est pas de type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT a.name, (SELECT COUNT(DISTINCT b.score) FROM scores AS b WHERE b.score >= a.score) AS 'position' FROM scores AS a ORDER BY position ASC;
name - score
bob - 500
joe - 600
tom - 300
mais j'ai 3 tables:
table: utilisateurs
id_user - pseudo
1 - bob
2 - joe
3 - tom
4 - sam
table: score_principal
id_jeu - id_user - gain - bonus - perte
1 - 1 - 500 - 50 - 0
2 - 2 - 600 - 80 - 30
3 - 3 - 300 - 0 - 40
1 - 2 - 400 - 10 - 0
3 - 2 - 600 - 80 - 30
3 - 1 - 200 - 0 - 10
2 - 4 - 200 - 60 - 0
table: collections
id_user - valeur
1 - 200
2 - 100
Donc ce que je voudrais, c'est un tableau qui me retourne le classement des utilisateurs avec le score correspondant à (score_principal(gain+bonus-perte) + collection(valeur))
En fait le but, c'est d'additionner le score de chaque jeu d'un utilisateur + la valeur d'une collection si il l'a obtenu et de le classer par rapport aux autres utilisateurs.
ce qui donnerai quelque chose comme cela:
rang - name - score(gain+bonus-perte)
1 - joe - 1910
2 - bob - 840
3 - tom - 260
3 - sam - 260
Et bien sûr, le code doit permettre de diviser le tableau sur plusieurs page.
Auriez vous une solution?
J'ai tout essayé, jusqu'à y mettre des variables "@variable", mais je n'y arrive pas.
merci beaucoup!
Partager