PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 29/12/2011 13:54:47

masterpastek
Membre

order by avec exception

Bonjour,

Je voudrais faire une requête select ordonnée comme suit :
en premier un enregistrement ayant un certain id que je fixe puis les autres enregistrements ordonnés par ordre alphabétique

je m'explique : si ma table est

id    nom
1     alain
2     paul
3     gerard
4     marc

et que je veux sortir l'id = 3 en premier, faire une requête qui me sortirait

id    nom
3     gerard
1     alain
4     marc
2     paul

j'ai l'impression qu'il y aurait moyen avec un "order by using operator" et j'ai tenté un

SELECT * FROM matable ORDER BY id=3,nom

mais ça ne fonctionne pas.

Qui peut m'aider ? Merci d'avance.

Hors ligne

#2 29/12/2011 14:00:34

gleu
Administrateur

Re : order by avec exception

Ça ne marche pas parce que les valeurs false se trouvent avant les valeurs true. Du coup, il faut changer votre requête ainsi :

b1=# SELECT * FROM matable ORDER BY id=3 desc, nom;
 id |  nom   
----+--------
  3 | gerard
  1 | alain
  4 | marc
  2 | paul
(4 rows)

Guillaume.

Hors ligne

#3 29/12/2011 14:02:17

masterpastek
Membre

Re : order by avec exception

Trop fort et trop rapide Gleu, merci et bonne journée !
Comment on fait pour dire que le pb est résolu ?

Dernière modification par masterpastek (29/12/2011 14:06:32)

Hors ligne

#4 29/12/2011 14:14:42

gleu
Administrateur

Re : order by avec exception

On ne fait pas. Il n'y a pas vraiment de moyen.


Guillaume.

Hors ligne

Pied de page des forums