|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : février 2007 Messages : 3 ![]() |
Bonjour,
Mon problème est le suivant: Un champs "note" contient des valeurs entières comprises entre 0 et 99. Je souhaite afficher les résultats de la manière suivante: Les notes comprisent entre 0 et 9 doivent être affichées en premier et par ordre décroissant. A la suite desquelles je souhaite afficher les autres notes (donc de 10 à 99) elle aussi par ordre décroissant. Exemple du classement voulu par valeur de note: 9, 8, 7, ..., 1, 0, 99, 89, 88, ..., 11, 10 Voici les deux requêtes que j'ai essayé pour l'instant, sans succès: 1ere requête Code :
2nd requête Code :
Merci de votre aide. |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 659 ![]() |
bonjour,
vous n'êtes pas loin de la solution : Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Bizard ce LIKE...
Pour la seconde requête, le UNION (qui fait un DISTINCT) flingue les tris des sous-requêtes. Lorsqu'on fait une union de 2 requêtes avec des colonnes créées dans la requête (OrderNum dans ton exemple) il faut utiliser UNION ALL qui ne fait pas de DISTINCT (opération lourde qu'on ne souhaite pas faire quand elle est inutile). Deuxièmement on ne tri pas dans une sous requête c'est inutile sauf quand on utilise LIMIT (là c'est obligatoire) Punkoff le tri voulu est dans l'autre sens si je ne m'abuse, j'aurais fait : plus court à écrire sinon : Code :
ORDER BY case when note BETWEEN 0 AND 9 then 1 else 2 end, note DESC |
|
|
10
|
|
|
#4 | |||
|
Invité de passage
![]() Inscription : février 2007 Messages : 3 ![]() |
Citation:
J'obtiens ce classement: 10, 11, ..., 98, 99, 0, 1, ..., 8, 9 C'est mieux car les deux sous groupes sont classés, mais la disposition globale n'est pas la bonne. Pour info, avec "ASC" j'obtiens: 0, 1, ..., 9, 10, ..., 99 Une autre idée ? |
|||
|
|
01
|
|
|
#5 | |
|
Invité de passage
![]() Inscription : février 2007 Messages : 3 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com