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

时间:2016-06-23 12:02:53

标签: java android parse-platform

将提供的伪代码视为伪代码。

 query.orderByDescending(0.25 * "likesCount" + 0.75 * "reblogsCount");

为什么我不能以这样的方式对查询运行操作,以便按两个不同列的加权平均值对列表进行排序?

我是否真的需要生成一个新列,让我们说“得分”,在每个like或reblog事件上更新它,然后按该列排序?

有没有办法在几行代码中实现Parse中我想要的东西?如果没有,有什么替代方案?

1 个答案:

答案 0 :(得分:1)

您可以使用子查询。

类似于以下伪代码:

 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)