gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 2018
-
8 mai 2007 à 15:41
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 2018
-
10 mai 2007 à 12:06
Bonjour a tous
J'ai une base dans laquelle j'ais les hitscores de mes petits jeux... Cette table est comme ceci:
CREATE TABLE `tky_hitscore` (
`id` int(255) NOT NULL auto_increment,
`username` varchar(80) NOT NULL default '',
`usergame` int(255) NOT NULL default '0',
`userscore` int(255) NOT NULL default '0',
`userdate` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0 AUTO_INCREMENT=1 ;
Explicatif :
UserName = Nom du joueur
UserGame = Numero du jeu
Userscore = Score du joueur
UserDate = Date du score
Je voudrais faire un requette qui permette de prendre le score le plus haut de chaque joueur et ce pour tout les jeux. De faire la moyenne et de faire un classement?
J'espere qu quelqu'un poura me donner un coup de main, merci d'avance.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 8 mai 2007 à 18:10
Salut,
Tu peux essayer ça ?
SELECT MAX(userscore) AS highscore, userdate, username, usergame FROM tky_hitscore GROUP BY usergame;
Normalement, ça marche (testé en local).
MAX(userscore) AS highscore => retourne la plus haute valeur, en appelant cette colonne de résultat highscore
GROUP BY => indispensable quand on utilise MAX() : précise pour quelle valeur il faut prendre le max.
Pour avoir le plus haut score de chaque joueur, il faudrait faire GROUP BY username
Pour avoir le plus haut score du jour, il faudrait faire GROUP BY userdate
Mais ces deux exemples ne veulent pas dire grand chose, dans la pratique, puisque les niveaux des scores varient probablement d'un jeu à l'autre... C'était juste pour illustrer.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 9 mai 2007 à 18:47
"Je voudrais faire un requette qui permette de prendre le score le plus haut"
Faudrait savoir... Pour moi, le score le plus haut, c'est pas une moyenne...
Dans ce cas, tu prends la même requête que je t'ai filée, mais tu remplaces MAX par AVG...