Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3073 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  plusieurs ORDER BY

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

plusieurs ORDER BY

n°1729500
redah75
Posté le 07-05-2008 à 13:53:54  profilanswer
 

Bonjour,
 
une toute petite question toute bete :)
 
est ce normal que lorsque je mets ORDER BY champ1, champ2 ca ne marche pas? il applique l'ordre que sur champ1. ex :
 
SELECT * FROM table WHERE ... ORDER BY nom, pays
 
l'affichage est bien classe par nom, mais alors les pays sont en desordre :(
 
merci de votre aide

mood
Publicité
Posté le 07-05-2008 à 13:53:54  profilanswer
 

n°1729504
sielfried
Posté le 07-05-2008 à 13:56:11  profilanswer
 

Bah c'est seulement si le nom est égal pour plusieurs entrées qu'il va ordonner par pays hein, sinon il va avoir du mal.
 
Désolé si je te prends pour un neuneu pour rien [:dawa], mais sinon je vois pas de raison non. 'pays' est de quel type ? Et ce serait bien d'avoir un exemple.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1729535
redah75
Posté le 07-05-2008 à 14:39:13  profilanswer
 

au fait, ce que je veux faire c'est afficher les resultas classe par nom de famille, et aussi par pays. Exemple:
 
SELECT nom, pays FROM table WHERE ...  
me donne les resultats suivants :
 
Nom    |     Pays
-----------------------
Dupont |    France
Ulrich    | Allemagne
Martin   | France
Donald   | Etats unis
blabla    | Inde
toto     | Argentine
Albert   | Allemagne
 
j'aimerais avoir l'affichage suivant:
 
Nom    |     Pays
-----------------------
Albert   | Allemagne
blabla    | Inde
Donald   | Etats unis
Dupont  | France
Martin   | France
toto     | Argentine
Ulrich    | Allemagne
 
 
pour la lettre 'D' j'affiche Donald en premier car 'E' de 'Etats unis' est avt 'F' de 'France'
 
 

n°1729537
masterslyp
Posté le 07-05-2008 à 14:40:50  profilanswer
 

Les ORDER BY plusieurs paramètres fonctionnent. Cela dit, les pays sont dans le désordre sur le global, mais pour 2 noms identiques ils seront triés
 
dans ton exemple :  
si tu as comme données :
nom      |   pays
--------------
bernard |  suisse
josiane  |  france
bernard |  belgique
arnaud  |  france
 
Avec la requete :

Code :
  1. SELECT * FROM table WHERE ... ORDER BY nom, pays


Cela donnera:
 
nom      |   pays
--------------
arnaud  |  france
bernard |  belgique
bernard |  suisse
josiane  |  france
 
Si tu veux que les pays soient dans l'ordre, puis pour chaque pays que les noms soient dans l'ordre, il faut mettre  :

Code :
  1. SELECT * FROM table WHERE ... ORDER BY pays, nom


et alors tu auras :
 
nom      |   pays
--------------
bernard |  belgique
arnaud  |  france
josiane  |  france
bernard |  suisse
 
 
Mais comme chaque pays est lié aux noms, jamais tu ne pourras avoir :
 
nom      |   pays
--------------
arnaud  |  belgique
bernard |  france
bernard |  france
josiane  |  suisse
 

n°1729549
masterslyp
Posté le 07-05-2008 à 14:47:06  profilanswer
 

Posts croisés.... :pt1cable:  
 
En fait tu veux que le tri ne porte que sur la première lettre  :heink: ???  
 
Ben si c'est vraiment ça, il faudrait que tu mettes :

Code :
  1. ORDER BY substr(nom,1,1), pays

n°1729554
redah75
Posté le 07-05-2008 à 14:53:16  profilanswer
 

Ah oui d'accord, OK, je comprends mieux mnt :)
 
merci bp ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  plusieurs ORDER BY

 

Sujets relatifs
Passiver plusieurs lignes VBA d'un coup[Résolu]]Recuperer plusieurs varibles dans un foreach
Forger une requete de recherche sur plusieurs tables.Connexion Bluetooth PDA avec plusieurs esclaves
[C#] Appeller plusieurs méthodes asynchrones ?[REGLE]Création panorama 360° flash avec plusieurs photos
Un programme dans plusieurs jar Probleme settimeout pour afficher plusieurs texte à la suite
plusieurs INSERT voire meme des milliers 
Plus de sujets relatifs à : plusieurs ORDER BY


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)