Сортировать столбец по возрастанию, но я хочу, чтобы 0 шел последним и СЛУЧАЙНО использовался mysql - PullRequest
0 голосов
/ 10 июня 2018

Мне нужно получить данные из таблицы MySQL в порядке возрастания, но нулевые значения идут последними и в случайном порядке

Сейчас это мой заказ по условию. Это не работает

ORDER BY sortorder=0 RAND(),sortorder

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

Если вы хотите получить данные из mysql в случайном порядке и нулевые значения идут последними.Вы можете попробовать следующее:

SELECT * FROM table ORDER BY `column` = 0, rand();
0 голосов
/ 10 июня 2018

Использовать условный порядок

select *
from table
order by column > 0 desc, column asc, rand()

Добавить rand () в конце

Демо

Или вы можете использовать union

(select * from table where column > 0 order by column asc)
union all
(select * from table where column = 0 order by rand())

Демо

...