嗨,我需要一些关于 SQL 的帮助。附上我的桌子的图像。
如果您看到 rootmessageid 列,则有 4 条 99 记录。所有这些 4 构成了一个完整的对话。
类似地,119 的 2 条记录进行了另一个对话。
116、117、118 是单消息会话。
现在我需要获取 msgfrom = 7 或 msgto = 7 的所有记录(这是最简单的部分)
现在复杂一点。我想要每个对话中唯一的最新记录(基于 datetimecreated)。
按照脚本创建此表。
CREATE TABLE IF NOT EXISTS `selectioncommunication` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`comactionid` int(11) NOT NULL,
`usercomment` varchar(2048) DEFAULT NULL,
`msgfrom` int(11) NOT NULL,
`msgto` int(11) NOT NULL,
`projectid` int(11) NOT NULL,
`parentmessageid` int(11) NOT NULL,
`datetimecreated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`rootmessageid` int(11) NOT NULL,
`isread` tinyint(1) NOT NULL DEFAULT '0',
`isclosed` tinyint(1) DEFAULT '0',
`relative_date_time` datetime DEFAULT NULL,
`consultant_response` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=121 );