Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1547 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Sql count multiples

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sql count multiples

n°2212263
djbennyj
Ivre au chai
Posté le 30-11-2013 à 17:42:22  profilanswer
 


 
Salut les gens.
 
J'ai une requette assez complexe que je n'arrive pas a visualiser...
 
J'ai fait un systeme de league que j'ai mis en place dans mon club de sport.
 
En gros c'est un ladder ( sur un site web mobile), qui gere des points/lvl individuel pour les joueurs. Algo qui genere des match équilibrés en fonctions des points des joueurs, et qui attribue des points aux joueurs apres chaque match.
 
En gros J'ai une table user (lad_user) :
 
id / name / date creation  /  streak
 
Une table game (lad_game):
 
id / etat / debut_game
 
etat qui me dit si le match est en cours ou pas.
 
Une table de liaison ou j'enregistre les evenements des parties (lad_game_joueur).
 
id / id_game / id_joueur / team  / Bonus  / result
 
id game : l'id de la partie
 
team : 1 ou 2
 
bonus: quand la partie fini l'algo attribu des point positif ou negatifs. Pour une victoire, entre +37 et +45, pour une defaite, entre -20 et -25.
 
Result : un int. 1=win, 2= lose
 
Sur ma page de stat d'utilisateur je calcul les point totaux, le nombre de victoires , ainsi que le nombre de defaites  :
 
 
SELECT
(SELECT COUNT(lad_game_joueur.result) FROM lad_game_joueur WHERE result = 1 AND lad_game_joueur.id_joueur = lad_user.id) as lose,
(SELECT SUM(lad_game_joueur.bonus) FROM lad_game_joueur WHERE lad_game_joueur.id_joueur = lad_user.id) as puntos,
lad_user.id as id ,
(SELECT COUNT(lad_game_joueur.result) FROM lad_game_joueur WHERE lad_game_joueur.id_joueur = lad_user.id AND result =2) as win,
lad_user.name FROM lad_user,lad_game_joueur
WHERE  lad_game_joueur.id_joueur = lad_user.id AND lad_user.id ='.$id_joueur.'
GROUP BY lad_user.id
ORDER BY puntos DESC
 
J'ai preferé ca ) l'ajout d'un champs"point" chez les user, car comme ca des que je supprime une game, les points de l'user sont mis à jours automatiquement, et ca permet de visualisr le gain de points a chaque partie, et de generer mes graphiques.
 
Là ou je bloque:
 
J'aimerai une requete qui me permette de trouver pour un joueur précis (donc sur sa page de stat), le partenair qui lui a fait perdre le plus de parties, ainsi que son meilleur allié, joueur avec lequel il aurait gagné le plus de parties.
 
Par exemple, mon joueur dont l'id est 2, a participé a 25 matchs, je voudrai voir lors de toutes ses parties gagnés, quelle est le partenair qui revient le plus souvent.
 
BONUS : si il y en a plusieurs ex aequo, celui lui qui lui aurait fait perdre le plus de points serait affiché. (ou gagné le plus de points).
 
C'est pas evident a deécrire, si c'est pas claire, n'hesitez pas a me demander  
 
Merci d'avance. Ben


Message édité par djbennyj le 30-11-2013 à 17:43:00
mood
Publicité
Posté le 30-11-2013 à 17:42:22  profilanswer
 

n°2212386
djbennyj
Ivre au chai
Posté le 02-12-2013 à 15:34:20  profilanswer
 

Trouvé :  
 
SELECT SUM(result)as result_sum, sum(Bonus) as bonus_sum, id_joueur from lad_game_joueur where result= 2 and id_joueur <> 2 and  id_game in (SELECT lad_game_joueur.id_game from lad_game_joueur,lad_game where id_joueur=2  AND result= 2 and lad_game_joueur.id_game=lad_game.id )group by id_joueur order by result_sum DESC, bonus_sum desc


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Sql count multiples

 

Sujets relatifs
SQL ServerTrace des requêtes SQL - Access 97
[SQL] Répliquer/Synchroniser BDD sur serveur distant[SQL] FROM (SELECT...) imbriqués. Bien ou pas ?
[SQL] [SAS] macro sur table[Excel 2007] requete SQL avec critere issu d'excel
[RESOLU] ORDER BY - SQLMYSQL problème count via out join
comparer et mettre a jour 2 tables en SQLSQLlite enregistrer un point "."
Plus de sujets relatifs à : Sql count multiples


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR