这就是我当前正在尝试模拟的 SQL。
SELECT * FROM direct_messages AS T
INNER JOIN (SELECT sender_id, receiver_id, MAX(sent_at) AS sent_at FROM direct_messages WHERE (sender_id = '2' OR sender_id = '3') AND (receiver_id = '3' OR receiver_id = '2') GROUP BY sender_id, receiver_id) A
ON A.sender_id = T.sender_id AND A.sent_at = T.sent_at;
Run Code Online (Sandbox Code Playgroud)
这是表的实体
@ObjectType()
@Entity()
export class DirectMessages {
@Field(() => ID)
@PrimaryKey()
id!: number;
@Field(() => String)
@Property()
senderID!: string;
@Field(() => String)
@Property()
receiverID!: string;
@Field(() => String)
@Property()
message!: string;
@Field(() => …Run Code Online (Sandbox Code Playgroud)