对于房间中的多列,我应该为SELECT DISTINCT期望什么返回类型?

问题描述 投票:0回答:1

我在我的应用程序中使用了空间,并想查询一个表,以获取recordingId和markerId的每个唯一组合:

@Entity(tablename = "table")
data class Table(
  val recordingId: Int, 
  val markerId: Int,
...)

TableDao:

    @Query("SELECT DISTINCT markerId, recordingId FROM table GROUP BY recordingId")
    fun getRecordingWithMarkTyps(): LiveData<List<Pair<Int,Int>>>

但是,我不确定如何将预期的输出映射到查询结果。

android kotlin select distinct android-room
1个回答
0
投票

按照Official Android documentation的建议,您可以使用正确的实现将结果直接转换为对象。

就您而言,您可以这样声明:

data class Table(
  val recordingId: Int, 
  val markerId: Int,
...)

@Query("SELECT DISTINCT markerId, recordingId FROM table GROUP BY recordingId")
abstract fun getRecordingWithMarkTyps(): List<Table>
© www.soinside.com 2019 - 2024. All rights reserved.