【问题标题】:Room - Get Object with MAX(numUsage)Room - 使用 MAX(numUsage) 获取对象
【发布时间】:2019-02-15 15:37:31
【问题描述】:

我在使用带有 Room Lib 的 Android Studio 时遇到了一个小问题。 我的实体类有一个名为“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 Points,以便跟踪它。

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

【问题讨论】:

    标签: java android dao android-room


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-16
      • 1970-01-01
      • 2023-02-05
      • 1970-01-01
      相关资源
      最近更新 更多