我有一个(int)列,称为“优先级”。选择项目时,我希望优先级最高(最低编号)在前,而优先级最低(最高编号)在最后。
但是,没有优先级的项目(当前优先级为0)应在具有优先级的项目之后的其他列中列出。
换一种说法。如果我有以下优先事项:
1 2 0 0 5 0 8 9
我如何像这样对它们进行排序:
1 2 5 8 9 0 0 0
我想我可以使用Int.max而不是0,但是0构成了一个很好的默认值,我会尝试保留它。
尝试:
order by case priority when 0 then 2 else 1 end, priority