Eu 22 Enfant Ricosta Mixte Derbies Bleu 23600 Royal 12 qx1xRv Eu 22 Enfant Ricosta Mixte Derbies Bleu 23600 Royal 12 qx1xRv Eu 22 Enfant Ricosta Mixte Derbies Bleu 23600 Royal 12 qx1xRv Eu 22 Enfant Ricosta Mixte Derbies Bleu 23600 Royal 12 qx1xRv Eu 22 Enfant Ricosta Mixte Derbies Bleu 23600 Royal 12 qx1xRv Eu 22 Enfant Ricosta Mixte Derbies Bleu 23600 Royal 12 qx1xRv Eu 22 Enfant Ricosta Mixte Derbies Bleu 23600 Royal 12 qx1xRv

Eu 22 Enfant Ricosta Mixte Derbies Bleu 23600 Royal 12 qx1xRv

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 22/10/2010 15:04:43

flo
22 Enfant Ricosta Mixte Derbies 12 Bleu 23600 Eu Royal Membre

[SQL] Ordre de tri non naturel

Bonjour,

On m'a demandé comment, dans une requête, faire un tri sur une colonne, suivant un ordre de tri "non naturel".
Dans notre cas, on a une table avec des noms de pays, et on veut trier suivant le nom de pays, MAIS on met la ligne avec le nom FRANCE en premier.
Il me semble bien avoir déjà vu passer une question du même type, mais vraiment impossible de remettre la main dessus en faisant des recherches...

12 Royal Ricosta Enfant Eu Mixte 23600 22 Derbies Bleu Hors ligne

Enfant 23600 12 Derbies Eu Bleu Royal Ricosta 22 Mixte #2 22/10/2010 15:31:30

gleu
Administrateur

Re : [SQL] Ordre de tri non naturel

Oui, c'est possible. Si ta colonne s'appelle pays, ça peut donner quelque chose comme : ORDER BY pays='France', pays

Hors ligne

100 Sandales Chaussures P717610d Giardini Nero 8P7wqxT

Royal Derbies Mixte Bleu 22 Eu 23600 Enfant Ricosta 12 #3 22/10/2010 15:57:06

flo
23600 Royal Derbies Ricosta 22 Mixte Eu 12 Enfant Bleu Membre

Re : [SQL] Ordre de tri non naturel

J'ai fait la requête suivante :

select * from n_code_pays order by libelle='FRANCE', libelle;

Mais cela ramène tous les pays dans l'ordre alphabétique du libellé, sauf la FRANCE.

Hors ligne

#4 Homme Ospina Ville Marrons De Chaussures Redskins Les EqtfIUx

Marc Cousin
Membre

Re : [SQL] Ordre de tri non naturel

Ah non

ORDER BY pays='FRANCE' DESC, pays

Sous PostgreSQL, false

Ce qui est dangereux, c'est que ça dépend vraiment de comment le SGBD trie les booleens. Je doute donc que ça soit très portable d'un SGBD à l'autre.


Marc.

Hors ligne

#5 22/10/2010 16:00:42

Re : [SQL] Ordre de tri non naturel

Il faut rajouter un DESC :

select * from n_code_pays order by pays='FRANCE' desc , pays;

Hors ligne

#6 Montants Homme Taylor Chaussons Mys Chuck qIwPtRw1

meles
Membre

Re : [SQL] Ordre de tri non naturel

gleu a écrit :

Oui, c'est possible. Si ta colonne s'appelle pays, ça peut donner quelque chose comme : ORDER BY pays='France', pays

Bonjour,
  je viens d'essayer sur une table que j'ai sous la main, et il faut que j'écrive ceci pour avoir l'acte ZZLP025 en premier, puis les auttres dabs le bon ordre :

select * from actes order by ccam = 'ZZLP025' desc, ccam asc

12 23600 Ricosta 22 Mixte Royal Enfant Derbies Bleu Eu Cordialement

Hors ligne

#7 charcoal Aim Outdoor High 2 Air turquoise Gris Skechers Multisports Femme 0 qUgzTWw

Marc Cousin
Membre

Re : [SQL] Ordre de tri non naturel

Y a de l'écho aujourd'hui (et c'est très bien, ça veut dire qu'il y a de la vie )


22 Derbies Royal Mixte Enfant Eu 12 Bleu 23600 Ricosta Marc.

Hors ligne

#8 22/10/2010 16:08:13

Re : [SQL] Ordre de tri non naturel

Ah, merci à tous, c'est bon!

C'est mon collègue qui va être content

Hors ligne

#9 Box Uomo Man Sneaker without E0932 Nero grigio grey Black Sebago Shoe Vintage Canvas TISwy

meles
Membre

Re : [SQL] Ordre de tri non naturel

Oui,
  ça sent le tir groupé du vendredi après midi de ceux qui moulent devant leur poste parce qu'il est définitivement trop tard pour commencer un truc plus important.

Cordialement

Hors ligne

#10 22/10/2010 16:18:04

meles
Membre

Re : [SQL] Ordre de tri non naturel

Marc Cousin a écrit :

Sous PostgreSQL, false

Ce qui est dangereux, c'est que ça dépend vraiment de comment le SGBD trie les booleens. Je doute donc que ça soit très portable d'un SGBD à l'autre.

A la lueur de cette explication, j'ai essayé ceci :

select * from actes order by ccam != 'ZZLP025'
et ceci
select * from actes order by ccam = 'ZZLP025' desc

et ça marche !

Hors ligne

#11 Ooahh Sandales De Noir Oofos Homme Sport gfqdAgwY

gleu
Administrateur

Re : [SQL] Ordre de tri non naturel

Oups, désolé pour l'oubli du DESC. Bah, on m'en voudra pas trop, j'ai posté ça à 6h31, pas encore bien réveillé

Eu 23600 12 Mixte Ricosta 22 Royal Enfant Bleu Derbies Hors ligne

Mixte Ricosta Bleu 22 Eu 12 Derbies 23600 Royal Enfant Ricosta 22 Bleu Mixte Eu Enfant Royal Derbies 12 23600 #12 22/10/2010 16:24:52

flo
Membre

Re : [SQL] Ordre de tri non naturel

Ah, oui je viens de me rappeler que tu es en Californie. Bon courage pour le décalage horaire, et profite bien du voyage

#13 Knit Sneakers Blanc Pepe Basses Homme Bleu Aberman white Jeans PwtxqE4

Marc Cousin
Mixte Royal Enfant Bleu Eu 23600 Derbies 12 Ricosta 22 Membre

Re : [SQL] Ordre de tri non naturel

L'encourage pas. Il va croire qu'on est content qu'il soit là-bas


Marc.

Hors ligne

Pied de page des forums