我想实现一个使用mysql进行存储的消息系统。
这是表格:
CREATE TABLE `message` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_from` int(10) unsigned NOT NULL,
`id_to` int(10) unsigned NOT NULL,
`time` datetime NOT NULL,
`message` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
);
id_from 是味精发送者,id_to 是味精接收者。
下面插入 4 条消息用于测试目的:
INSERT INTO `message`(`id`,`id_from`,`id_to`,`time`,`message`) VALUES
(1,1,2,'2012-07-05 12:18:49','msg1'),
(2,2,1,'2012-07-05 12:18:58','msg2'),
(3,3,1,'2012-07-05 12:19:04','msg3'),
(4,1,3,'2012-07-05 12:19:10','msg4');
我想做但没有成功的是构建一个查询,该查询为特定用户的每对(id_from,id_to)获取最后发送或接收的消息。在这种情况下,结果将是:
row1: 2,2,1,'2012-07-05 12:18:58','msg2'
row2: 4,1,3,'2012-07-05 12:19:10','msg4'