порядок AS C или DES C на основе чисел, но не для чисел c строк - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть таблица БД, в которой есть столбцы с нечисловыми данными c, такими как (1 - 100) и (/).

Таким образом, при заказе на основе этого запроса:

SELECT * FROM `kw_keywords` ORDER BY `kw_keywords`.`position` ASC

возвращает строки с / в начале, в то время как в начале должно быть 1

Как можно поместить все строки с / или нулем до конца порядкового номера?

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

С условной сортировкой:

SELECT * 
FROM `kw_keywords` 
ORDER BY `position` IS NULL, `position` = 0, `position` + 0 

или:

SELECT * 
FROM `kw_keywords` 
ORDER BY COALESCE(`position`, 0) = 0, `position` + 0 

См. Упрощенную демонстрацию .

0 голосов
/ 19 апреля 2020

ORDER BY, если (kw_keywords. position = '' или kw_keywords. position равно нулю, 1,0), kw_keywords. position AS C

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...