我想實現一個使用mysql進行存儲的消息系統。mysql select ids pair的最後一項
這是表:
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是MSG發件人,id_to是MSG接收機。
下面插入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'
我檢查,它不顯示正確,它返回行id3和id4 – 2012-07-05 10:41:14
這就是我t應該這樣做,對吧? id3晚於id2。或者你想要每一次談話的最新消息? – 2012-07-05 10:46:40
它應該返回id2和id4 – 2012-07-05 10:48:32