我有一个query
方法,目前看起来像这样:
Cursor cursor = database.query(MySQLiteHelper.MY_TABLE, allColumns, null, null, null, null, null);
我想要做的是添加ORDER BY
。但它比普通的ORDER BY有点复杂。所以在最后一个参数中我想要一个说
my_order ASC WHEN my_order IS NOT '0'
如果我需要CASE
或什么,我不确定这是否是正确的syatax。
我基本上希望它按1,2,3等顺序排列my_order
字段,然后任何零都不是特定顺序。 my_order
列是INT
。
我该怎么做?
答案 0 :(得分:2)
要将零排序到最后,请将其替换为大于任何数字的值,例如字符串:
SELECT ...
ORDER BY CASE WHEN my_order <> 0 THEN my_order ELSE '' END;
当您的列包含字符串时,您必须构建一些适当的“大”字符串。字符串。