plusieurs ORDER BY - SQL/NoSQL - Programmation
Marsh Posté le 07-05-2008 à 13:56:11
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 , mais sinon je vois pas de raison non. 'pays' est de quel type ? Et ce serait bien d'avoir un exemple.
Marsh Posté le 07-05-2008 à 14:39:13
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'
Marsh Posté le 07-05-2008 à 14:40:50
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 :
|
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 :
|
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
Marsh Posté le 07-05-2008 à 14:47:06
Posts croisés....
En fait tu veux que le tri ne porte que sur la première lettre ???
Ben si c'est vraiment ça, il faudrait que tu mettes :
Code :
|
Marsh Posté le 07-05-2008 à 13:53:54
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