У меня есть таблица базы данных под названием "Клиенты", как это:
Sl Name Profession
1 ABC Doctor
2 QWE Engineer
3 ERT null
4 DEF Doctor
5 JGJ null
Я хочу заказать эту таблицу, так как все имена с профессиями находятся в начале, а имена без профессии (ноль) внизу, например:
Sl Name Profession
1 ABC Doctor
2 QWE Engineer
4 DEF Doctor
5 JGJ null
3 ERT null
Есть ли запрос, чтобы сделать это? Заранее спасибо..
NULL
в MySQL (и в большинстве разновидностей SQL) сортируются по умолчанию первыми, а не последними. Одним из общих способов принудительного использования значений NULL
является использование выражения CASE
или IF
:
SELECT
Sl, Name, Profession
FROM yourTable
ORDER BY
IF(Profession IS NOT NULL, 0, 1),
Sl;
Sl
после размещения пустых значений внизу.
использовать order by
select * from table_name
order by case when Profession is not null then 1 else 2 end
НИКАКОЙ двигатель БД не предоставит вам строки заказа без использования
un-ordered sets
и простой ответ на ваш вопрос - «нет». Чтобы убедиться, что результат запроса находится в желаемом порядке, необходимо использовать пунктorder by
.