我不知道你是怎么定义“最新的”—— updated_at ? created_at ? 或者 id ? 总之,一种方法是关联子查询:
select m.*
from messages m
where 1 in (m.receiver_id, m.sender_id) and
m.updated_at = (select max(m2.updated_at)
from messages m2
where (m2.receiver_id, m2.sender_id) in ((m.receiver_id, m.sender_id), (m.sender_id, m.receiver_id))
);
1条答案
按热度按时间chy5wohz1#
我不知道你是怎么定义“最新的”——
updated_at
?created_at
? 或者id
?总之,一种方法是关联子查询: