2016-06-23 3 views
-1

Обработайте предоставленный в виде псевдокода.Сортировка запросов с помощью операций (Android - Parse.com)

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

Почему я не могу запустить операцию на запрос таким образом, чтобы отсортировать список по средневзвешенным двух разных колонках?

Должен ли я действительно создать новый столбец, скажем, «оценка», обновить его на каждое подобное событие или событие reblog, а затем отсортировать по этому столбцу?

Есть ли способ достичь того, что я хочу в Parse, в нескольких строках кода? Если нет, то в чем альтернатива?

ответ

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) 
+0

я могу увидеть значение этого метода с точки зрения SQL, но я не уверен, что это возможно в Parse, потому что в столбце queried ссылается строка, и вы не можете работать с строками. – santafebound