Java 使用操作对查询进行排序(Android-Parse.com)

Java 使用操作对查询进行排序(Android-Parse.com),java,android,parse-platform,Java,Android,Parse Platform,将提供的代码视为伪代码 query.orderByDescending(0.25 * "likesCount" + 0.75 * "reblogsCount"); 为什么我不能以这样的方式对查询运行操作,以便按两个不同列的加权平均值对列表进行排序 我真的需要生成一个新列,比如说“score”,在每个like或reblog事件时更新它,然后按该列排序吗 有没有一种方法可以在几行代码中实现我想要的解析?如果没有,还有什么选择?您可以使用子查询 类似于以下伪代码的内容: select * fro

将提供的代码视为伪代码

 query.orderByDescending(0.25 * "likesCount" + 0.75 * "reblogsCount");
为什么我不能以这样的方式对查询运行操作,以便按两个不同列的加权平均值对列表进行排序

我真的需要生成一个新列,比如说“score”,在每个like或reblog事件时更新它,然后按该列排序吗


有没有一种方法可以在几行代码中实现我想要的解析?如果没有,还有什么选择?

您可以使用子查询

类似于以下伪代码的内容:

 select * from (
    select field1, field2, 0.25 * likesCount + 0.75 * reblogsCount as sortField 
    from table
) order by sortField

还可以使用括号将排序条件分组:

select * 
from table 
order by (0.25 * likesCount + 0.75 * reblogsCount)

我可以从SQL透视图中看到此方法的值,但我不确定这在解析中是否可行,因为查询的列由字符串引用,并且不能对字符串进行操作。