2014-09-10 2 views
-1

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

Например, скажите, что мой результат [1, 3, 5, 6, 7, 1987], и я хочу, чтобы он стал [6, 1, 3, 5, 7, 1987] (я хочу, чтобы число 6 чтобы быть на первой позиции)

+0

положение строки или столбца? –

+1

строка, в которой я хочу, чтобы она была на первом месте, посередине, поэтому изменение порядка не будет выполнено. – smarber

+0

Для сортировки результата необходимо использовать другой параметр. Сортировка результатов с помощью идентификатора не является хорошей идеей. –

ответ

3

Я чувствую, вы ищете для этого

SELECT * FROM `pctable`order by colName=6 desc, colName 

так ColName = 6 будут находиться в верхней части и затем для другого это будет идентификатор мудрого родом.

+0

Похоже, что это решение, я собираюсь попробовать его на ORM доктрины. спасибо – smarber

0

Попробуйте использовать выражение CASE в вашем предложении Order by. Такие, как

ORDER BY CASE WHEN COL_VALUE = 'xxx' THEN '1' 
       WHEN COL_VALUE = 'xxx' THEN '2'    
       ELSE COL_VALUE END ASC; 
0

Или с IF в SELECT, как-то:

SELECT IF(number = 6, number, ''), number FROM colname 
Смежные вопросы