MySQL: ЗАКАЗАТЬ какими бы ни были поля ASC [с первой строкой X]? - PullRequest
3 голосов
/ 16 августа 2010

Как я могу заказать свой набор результатов, но также иметь определенную строку (с fieldX = Y), которая будет первой?

Ответы [ 2 ]

3 голосов
/ 16 августа 2010

Примерно так должно работать:

ORDER BY (fieldX = Y) DESC, whateverField ASC
2 голосов
/ 16 августа 2010
select tbl.*, if(fieldX = Y, 1, 0) as custom_sort 
from tbl
order by custom_sort desc, fieldZ asc

Теперь, каким бы ни было поле Z, строка с полем X = Y всегда будет первой в наборе результатов

...