按列排序表,但忽略0 - SQLite

时间:2014-08-18 23:57:32

标签: sql sqlite

我有一个名为my_order的专栏。它默认为0。我想在我的查询中这样做:

ORDER BY my_order (IF NOT 0)

所以,如果列'数据为0, 0, 0, 2, 0, 1,它将为1, 2, 0, 0, 0, 0,(忽略零)。

显然最后一部分不正确。我将如何在SQLite中执行此操作?

我的前两个怀疑是COALESCE或CASE。

2 个答案:

答案 0 :(得分:3)

您可以使用CASE,如:

SELECT * FROM tbl
ORDER BY CASE WHEN my_order = 0 THEN 1 ELSE 0 END,
my_order

答案 1 :(得分:0)

order by case when my_order = 0 then 1 else 0 end, my_order