我有一个用于获取用户对话的SQL查询,该消息只在消息传入或传入的所有消息列表中的两个用户之间提供一次消息。
`SELECT f.* FROM (
SELECT * FROM reply_on_message a WHERE (LEAST(a.`sender_id`, a.`receiver_id`), GREATEST(a.`sender_id`, a.`receiver_id`),
a.`created`) IN ( SELECT LEAST(b.`sender_id`, b.`receiver_id`) AS x,
GREATEST(b.`sender_id`, b.`receiver_id`) AS y,
MAX(b.`created`) AS msg_time FROM reply_on_message b GROUP BY x, y ) ) f WHERE $user_id IN (f.`sender_id`, f.`receiver_id`)
ORDER BY f.`created` DESC limit $start,$limit`