92 votes

mysql order by, null en premier, et DESC après

Comment puis-je commander DESC par un champ, mais lister les valeurs NULL en premier?

Donc, je vais avoir une table:

 reuestId | offerId | offerTitle
1        | 1       | Alfa
NULL     | 2       | Beta
2        | 3       | Gamma
 

Je veux les sélectionner pour que les résultats soient:

 NULL | 2 | Beta
2    | 3 | Gamma
1    | 1 | Alfa
 

191voto

DonCallisto Points 9157

Essaye ça:

 ORDER BY [reuestId] IS NULL DESC, [reuestId] DESC
 

devrait fonctionner (pour mySql)

33voto

ypercube Points 62714
SELECT *
FROM TableX
ORDER BY (requestId IS NOT NULL)
       , requestId DESC

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X