sql chat group同样聊天

时间:2015-04-06 22:48:59

标签: mysql sql

我想制作一个与facebook收件箱类似的聊天框。

select * from chat where id in(select max(id) from chat where `to`='$user' or `from`='$user' group by `from`)order by id desc"
问题是:

约翰发送消息给玛丽 玛丽送到约翰

它将显示2个结果。我想在john和marie之间只在一个选择(如facebook do)中进行同样的对话。我怎样才能在同一时间从他们分组?

CREATE TABLE IF NOT EXISTS `chat` (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `from` varchar(255) NOT NULL DEFAULT '',
  `to` varchar(255) NOT NULL DEFAULT '',
  `message` text NOT NULL,
  `sent` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `recd` int(11) UNSIGNED NOT NULL DEFAULT '0',
);

2 个答案:

答案 0 :(得分:0)

希望这是您要查找的查询

从(从中选择group_concat(消息) 选择' $ user'顺便说一句,来自聊天的消息 来自(' $ user1',' $ user2')或in(' $ user1',' $ user2') 按订单发送) by btw;

http://sqlfiddle.com/#!9/36177/3

答案 1 :(得分:0)

This Article可能会改善您构建像facebook这样的标准聊天引擎的想法。首先,您必须确认您具有良好设计的架构 enter image description here