Auteur Sujet: [Résolu] Requête SQL ?  (Lu 1668 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
[Résolu] Requête SQL ?
« le: 19 février 2008 à 13:27:45 »
Bonjour,

Je cherche à afficher le combattants de ma BD ayant le plus de victoire par KO.

Je fais la requête suivante :
SELECT Prenom_k1, Nom_k1, count( * ) AS nombre FROM `combat_k1` , `combattants_k1`
WHERE `Num_Fighter1_k1` = Num_fighter_k1 AND `Facon_k1` LIKE '%ko%'
GROUP BY Prenom_k1, Nom_k1
ORDER BY nombre DESC

Ce qui me donne :


Mais je souhaite juste le combattant ayant le plus de victoire par KO

Je rajoute à ma requête la ligne suivante :
limit 0,1

Cela me donne bien le bon résultat mais dans le cas où il y en a 2 ex aequo cela ne marchera pas !

Comment faire avec juste une requête, sans passer par un tableau ????

Merci d'avance
« Modifié: 05 mars 2008 à 14:11:34 par Lebanner »

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Requête SQL ?
« Réponse #1 le: 19 février 2008 à 15:08:57 »
Bonjour,

Et naquit la "sous-requête" (subselect en anglais).
Dans ton cas ça doit ressembler à quelqueschoses du type:
SELECT
Prenom_k1,
Nom_k1,
count( * ) AS nombre

FROM
`combat_k1` ,
`combattants_k1`

WHERE
`nombre` = (
SELECT
count( * ) AS nombre

FROM
`combat_k1` ,
`combattants_k1`

WHERE
`Num_Fighter1_k1` = Num_fighter_k1
AND `Facon_k1` LIKE '%ko%'

GROUP BY
Prenom_k1,
Nom_k1

ORDER BY
nombre DESC

LIMIT
0,1)

GROUP BY
Prenom_k1,
Nom_k1

Faute de temps là j'ai un peu fait la version bourin ^^.
Plus d'infos ici: http://dev.mysql.com/doc/refman/5.0/fr/subqueries.html.

Bonne continuation!
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Requête SQL ?
« Réponse #2 le: 05 mars 2008 à 12:43:58 »
Finalement j'ai opté pour ma solution du limit 0,1 car je ne suis pas arrivé à faire autrement.