排序案例陈述的小节

Ordering subsections of case statement

所以我有一个具有以下排序顺序的查询:

String sortOrder = "CASE " + ICCGoal.COLUMNS.category
        + " WHEN '" + GoalCategory.PHYSICAL_ACTIVITY.getEncodedValue() + "' THEN 1"
        + " WHEN '" + GoalCategory.SLEEP.getEncodedValue() + "' THEN 2"
        + " WHEN '" + GoalCategory.SOCIAL.getEncodedValue() + "' THEN 3"
        + " WHEN '" + GoalCategory.MOOD.getEncodedValue() + "' THEN 4"
        + " WHEN '" + GoalCategory.ENERGY.getEncodedValue() + "' THEN 5"
        + " END";

是否可以订购 returned 值的部分?

目前,我有 "SLEEP" 类型 return 的所有目标,在 "PHYSICAL_ACTIVITY" 之后和 "SOCIAL" 目标之前,无论它们的存储顺序如何。

是否可以 return 它们按创建日期排序?或者只是以不同于默认方式的其他方式订购?

只需添加一个次要排序标准:

String sortOrder = "CASE " + ICCGoal.COLUMNS.category
        + " WHEN '" + GoalCategory.PHYSICAL_ACTIVITY.getEncodedValue() + "' THEN 1"
        + " WHEN '" + GoalCategory.SLEEP.getEncodedValue() + "' THEN 2"
        + " WHEN '" + GoalCategory.SOCIAL.getEncodedValue() + "' THEN 3"
        + " WHEN '" + GoalCategory.MOOD.getEncodedValue() + "' THEN 4"
        + " WHEN '" + GoalCategory.ENERGY.getEncodedValue() + "' THEN 5"
        + " END" // Original ordering from the OP
        + ", date_created"; // Secondary term