房间 - 使用 MAX(numUsage) 获取对象

Room - Get Object with MAX(numUsage)

我正在使用 Android Studio 和 Room Lib,但遇到了一个小问题。 我的实体 class 有一个名为 "numUsage" 的值(整数) 但是我不知道如何编写我的 DAO 查询来获取 row/entry 和 MAX/MIN(numUsage)

的 LiveData

所以基本上我想知道 Object/entry 的最高和最低数字。

F.e。 条目号。 1 有 5 个使用点数 条目号。 2 有 2 numUsage Points

我想获取条目号 1 的所有信息 - 因为它的分数最高。

我试过

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

但这似乎是错误的,因为我总是得到一个错误(我 return 是一个空对象)

我正在使用 LiveData,因为在使用该应用程序时,您可以为条目提供更多 numUsage Points,以便跟踪它。

也许这是一个相当简单的问题,但我就是找不到合适的答案!

有一种惯用的方法可以获取具有 max/min 值的行。例如,在您的情况下,

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