Page 1 sur 1

select avec un enregistrement en premier

Posté : 09 déc. 2006, 10:45
par gwendal
Bonjour,

J'ai un champ dans une table mysql qui prend soit la valeur 1 ou 0 mais un seul enregistrement prend la valeur 1, les autres sont à 0

Je voudrais faire un select de l'ensemble des enregistrements avec en premier celui qui est à 1, mais je ne sais pas comment faire

Merci d'avance.

Posté : 09 déc. 2006, 10:55
par Cyrano
Ajoute une clause ORDER BY

Code : Tout sélectionner

SELECT champ1, champ2,..., champn FROM ta-table ORDER BY champ_booleen DESC
Remplace les noms des champs par les tiens évidemment et n'oublie pas le "DESC" qui va trier par ordre décroissant, donc 1 en premier, 0 ensuite et tu peux éventuellement ajouter d'autres champs ensuite, si par exemple tu avais un autre champ sur lequel tu voudrais trier :

Code : Tout sélectionner

SELECT champ1, champ2,..., champn FROM ta-table ORDER BY champ_booleen DESC, champ1
Ceci va trier d'abord sur le champ booléen en ordre décroissant, puis, après sur le champ1 en ordre croissant (l'absence de critère après le champ est équivalent à "ASC" par défaut)

Posté : 09 déc. 2006, 11:15
par gwendal
Mince je suis pas reveillé ce matin, en effet c'est trés simple :)

Merci