如何从房间数据库中获取多个计数?

时间:2020-06-15 06:33:43

标签: android android-room

我想从Room中返回多个计数。在android中选择查询。 我的查询就像

Select Count(CASE WHEN x = '0' or x = '2'), Count(Case when a = '33' or a = '23') FROM my_table WHERE id=10

我希望以上查询返回一些内容作为列表,其中将包含以上两个Count()函数的值。可以使用SQLite轻松完成,但是我想在room中使用它。

1 个答案:

答案 0 :(得分:1)

您可以为计数指定名称,并将其作为类返回,例如:

data class MyCounts(
  @ColumnInfo(name = "first_count")
  val firstCount: Int,

  @ColumnInfo(name = "second_count")
  val secondCount: Int
)

@Dao
interface MyDao {
  @Query("SELECT COUNT(*) as first_count, COUNT(*) as second_count from my_table")
  suspend fun getMyCounts(): MyCounts
}
相关问题