Requête SQL avec tri double et LIMIT
leica69
Messages postés
16
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
Je suis en train de préparer une requête SQL qui me pose quelques soucis.
Voici la situation: un utilisateur arrive sur une page avec un problème ayant une note correspondant à sa gravité.
par exemple: $note_probleme = 8.12;
je fais une recherche dans une table de solutions pour lui proposer des solutions adéquates. Ma table est composée comme suit:
ID | intitule | note_solution
La note de solution est censée correspondre à celle du problème
Pour trouver les solutions adaptées, je fais une requête en prenant en compte la différence entre les deux notes:
ABS(note_solution - $note_probleme)
Je souhaite avoir les 6 résultats les plus pertinents donc: LIMIT 6
Ma requête est la suivante:
$requete="SELECT * FROM solutions ORDER BY ABS(note_solution_f - ".$note_boulette.") LIMIT 6";
Jusque là, tout va bien. Je souhaite maintenant afficher mes résultats dans l'ordre décroissant de note_solution. Là, je coince. J'espère que vous arez une solution à m'apporter.
D'avance, merci pour votre aide,
Antonio
Je suis en train de préparer une requête SQL qui me pose quelques soucis.
Voici la situation: un utilisateur arrive sur une page avec un problème ayant une note correspondant à sa gravité.
par exemple: $note_probleme = 8.12;
je fais une recherche dans une table de solutions pour lui proposer des solutions adéquates. Ma table est composée comme suit:
ID | intitule | note_solution
La note de solution est censée correspondre à celle du problème
Pour trouver les solutions adaptées, je fais une requête en prenant en compte la différence entre les deux notes:
ABS(note_solution - $note_probleme)
Je souhaite avoir les 6 résultats les plus pertinents donc: LIMIT 6
Ma requête est la suivante:
$requete="SELECT * FROM solutions ORDER BY ABS(note_solution_f - ".$note_boulette.") LIMIT 6";
Jusque là, tout va bien. Je souhaite maintenant afficher mes résultats dans l'ordre décroissant de note_solution. Là, je coince. J'espère que vous arez une solution à m'apporter.
D'avance, merci pour votre aide,
Antonio
A voir également:
- Requête SQL avec tri double et LIMIT
- Double ecran - Guide
- Whatsapp double sim - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Logiciel tri photo - Guide
4 réponses
Bonjour,
tu veux trier par ordre décroissant de 'note_solution' ou de 'ABS(note_solution_f - ".$note_boulette.")' ?
Pour note_solution, je pense qu'il te suffit d'ajouter un "ORDER BY note_solution DESC" avant ton LIMIT 6 :
Voila en espérant que ça t'aide :)
tu veux trier par ordre décroissant de 'note_solution' ou de 'ABS(note_solution_f - ".$note_boulette.")' ?
Pour note_solution, je pense qu'il te suffit d'ajouter un "ORDER BY note_solution DESC" avant ton LIMIT 6 :
$requete="SELECT * FROM solutions ORDER BY ABS(note_solution_f - ".$note_boulette.") ORDER BY note_solution DESC LIMIT 6";
Voila en espérant que ça t'aide :)
peut-on mettre deux fois ORDER BY ?
sinon essayes:
sinon essayes:
$requete="SELECT * FROM solutions ORDER BY ABS(note_solution_f - ".$note_boulette."),note_solution DESC LIMIT 6";