我的桌子在下面:

crm_messages_of_conversions

crm_receivers_of_messages

我想得到一个用户的所有转换只有最后一条消息。我想了解一下这个问题:
SELECT `conv`.`subject`, `mc`.`message_text`, `mc`.`sentDateTime`, `mc`.id AS "msgId", `conv`.id AS "convId"
FROM (`crm_receivers_of_messages` rm)
JOIN `crm_messages_of_conversions` mc ON `mc`.`id` = `rm`.`m_id`
JOIN `crm_conversions` conv ON `conv`.`id` = `mc`.`conv_id`
WHERE `rm`.`receiver_id` = '1'
GROUP BY convId
HAVING MAX(msgId)但是,这个查询并没有给出真正的结果:

我想得到msgId =1的convId 1,msgId =4的convId =2
发布于 2015-03-25 12:26:42
已解决:
SELECT `conv`.`subject`, `mc`.`message_text`, `mc`.`sentDateTime`, `mc`.id AS "msgId", `conv`.id AS "convId"
FROM (`crm_receivers_of_messages` rm)
JOIN `crm_messages_of_conversions` mc ON `mc`.`id` = `rm`.`m_id`
JOIN `crm_conversions` conv ON `conv`.`id` = `mc`.`conv_id`
WHERE `rm`.`receiver_id` = '1' AND mc.id = (SELECT MAX(id) FROM crm_messages_of_conversions WHERE conv.id = crm_messages_of_conversions.conv_id)
GROUP BY convIdhttps://dba.stackexchange.com/questions/96194
复制相似问题