sqlite删除两列交叉相等的行

t0ybt7op  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(211)

我正在开发一个android聊天应用程序。我使用room(sqlite持久性库)来存储数据。我有两张table:朋友和留言。我想显示每个会话的最新消息。
朋友表:

data class FriendsModel(
     @PrimaryKey
     @SerialName("friendID") var friendID: String,
     @SerialName("friendName") var friendName: String?,
     @SerialName("friendPublicKey") var friendPublicKey: String?,
     @SerialName("sharedSecretKey") var sharedSecretKey: String?
)

消息表:

data class MessageModel(
     @PrimaryKey(autoGenerate = true)
     @SerialName("id") var _id: Int = 0,
     @SerialName("from") var from: String,
     @SerialName("to") var to :String,
     @SerialName("message") var message: String?,
     @SerialName("date") var date: String?
)

假数据举个例子:

注意,user1向user2发送3条消息,user2也向user1发送3条消息。我想知道每次谈话的最新消息。最后一条消息由谁发送并不重要(“发件人”或“收件人”字段)
回报应该是这样的:

我试着按日期分类,按“从”和“到”分组。但它给出了user1发送给user2和user2同时发送给user1的最后一条消息。我想消除这个案子。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题