我正在将Android Studio与Room Lib一起使用,并且有一个小问题。
我的实体类具有一个名为“ numUsage”的值(整数)
但是我不知道如何编写我的DAO查询以使用MAX / MIN(numUsage)获得一行/条目的LiveData

所以基本上我想知道具有最高和最低编号的对象/条目。

F.e.
条目号。 1个具有5 numUsage点
条目号。 2有2 numUsage点

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

我尝试了类似的东西

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


但这似乎是错误的,因为我总是会收到一个错误(我返回的是一个空对象)

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

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

最佳答案

有一种惯用的方法来获取具有最大值/最小值的行。以您的情况为例,

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

09-27 05:57