Bonjour,
j'ai une simple table de scores:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DROP TABLE IF EXISTS `votes`; CREATE TABLE IF NOT EXISTS `votes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `score` varchar(8) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Je voudrais pouvoir obtenir la liste des 3 meilleurs scores, sous la forme 1,5,3. Donc j'essaye:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 INSERT INTO `votes` (`id`, `score`) VALUES (1, '160'), (2, '100'), (3, '120'), (4, '100'), (5, '140'), (6, '100');
Ce qui ne marche pas. probablement car je n'ai pas de groupe défini.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT GROUP_CONCAT( DISTINCT CAST(id AS CHAR) SEPARATOR "," ) AS scid FROM `votes` WHERE 1 ORDER BY `score` DESC LIMIT 3;
Comment puis je faire pour obtenir cette des 3 premiers résultats en une seule requete ?
Merci d'avance
Partager