mysql order by, сначала null, а затем DESC


Как я могу заказать DESC по полю, но сначала перечислить нулевые значения?

Итак, у меня есть таблица:

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

Я хочу выбрать их так, чтобы результаты были:

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

2 ответа:

попробуйте это:

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

должно работать (для mySql)

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