SQLite订购规则

时间:2012-09-20 19:57:41

标签: android sqlite sql-order-by coalesce

我在android中有一个带有一些表的SQLite数据库,其中一个就是:

trainings (date TEXT, exercise TEXT, repetitions INTEGER, weight REAL)

它有两个重量和重复指数都是ASC。

这就是事情,在一个按重复顺序的select语句中,我得到了类似的东西:

Select * from trainings WHERE exercise='"+exercise+"' AND repetitions != '-' AND repetitions != 0 ORDER BY COALESCE( weight, date);

0
0
0
12
13
25
-
-

我想知道是否有可能将' - '结果放在开始而不是结尾处,因为在我的应用中,我将0和' - '视为同样的事情,我必须得到订购两个数据在一起。

有什么建议吗?提前致谢

1 个答案:

答案 0 :(得分:1)

要将任意值转换为其他任意值,请使用CASE expression;像这样的东西:

... ORDER BY
      CASE COALESCE(weight, date)
        WHEN '-' THEN 0
        ELSE          COALESCE(weight, date)
      END