我正在构建一个消息传递系统,只需要从每个发件人那里提取最后一条消息给指定的收件人。因此,如果 3 个人每人向收件人发送 5 条消息(共 15 条消息),我需要获得 3 个条目;每个发件人的最后一条消息。
这是我当前的 SQL:
SELECT
messages.*,
user_accounts.uacc_id,
user_accounts.uacc_username,
user_profiles.upro_image_name
FROM messages
LEFT JOIN user_accounts
ON messages.msg_from_uacc_fk = user_accounts.uacc_id
LEFT JOIN user_profiles
ON user_profiles.upro_uacc_fk = user_accounts.uacc_id
WHERE
messages.msg_to_uacc_fk = ?
ORDER BY
msg_id
DESC
我尝试将 'MAX(1)' 添加到 SELECT 以及在 DESC 之后添加 'LIMIT = 1',但是,当然,这只返回了总共 1 条消息。