Комната - Получить объект с MAX (numUsage) - PullRequest
0 голосов
/ 15 февраля 2019

Я использую Android Studio с Room Lib и у меня небольшая проблема.У моего класса сущностей есть значение, называемое "numUsage" (Integer), но я не знаю, как написать свой DAO-запрос, чтобы получить LiveData одной строки / записи с MAX / MIN (numUsage)

Так что в основном я хочу знать объект / запись с самым высоким и самым низким номером.

Fe Entry Number.1 имеет 5 номеров numUsage.2 имеет 2 numUsage Points

И я хочу получить всю информацию о записи номер 1 - потому что она имеет самые высокие баллы.

Я пробовал что-то вроде

@Query("SELECT * FROM subscriptions WHERE (SELECT MAX(numUsage) FROM subscriptions)")
LiveData<Sub> getTopSub();

Ноэто кажется неправильным, потому что я всегда получаю сообщение об ошибке (то, что я возвращаю, является нулевым объектом)

Я использую LiveData, потому что, используя приложение, вы можете дать записям больше очков numUsage, так что этоследите за этим.

Возможно, это довольно простой вопрос, но я просто не могу найти подходящий ответ!

1 Ответ

0 голосов
/ 15 февраля 2019

Существует идиоматический способ получения строки с максимальным / минимальным значением.В вашем случае, например,

@Query("SELECT * FROM subscriptions ORDER BY numUsage DESC LIMIT 1")
LiveData<Sub> getTopSub();
...