CREATE TABLE `Sys_Comment` ( `CommentID` varchar(50) NOT NULL COMMENT '评论ID', `commentUserID` varchar(50) DEFAULT NULL COMMENT '评论人ID', `commentCompanyID` varchar(50) DEFAULT NULL COMMENT '评论公司ID', `commentContentID` varchar(50) DEFAULT NULL COMMENT '评论内容ID', `commentContentType` varchar(50) DEFAULT NULL COMMENT '评论内容类型', `comment` varchar(200) DEFAULT NULL COMMENT '评论', `paterID` varchar(50) DEFAULT NULL COMMENT '上级ID', `replyUserID` varchar(50) DEFAULT NULL COMMENT '被回复的用户的ID', `createTime` datetime DEFAULT NULL COMMENT '评论时间', PRIMARY KEY (`CommentID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统:评论'
分组查询组内的最大值
SELECT * FROM Sys_Comment a WHERE 1>(SELECT COUNT(*) FROM Sys_Comment WHERE a.createTime<createTime AND a.commentContentID=commentContentID )
也可以写成
SELECT * FROM Sys_Comment a WHERE not exists(SELECT 1 FROM Sys_Comment WHERE a.createTime<createTime AND a.commentContentID=commentContentID )
也可以写成
SELECT a.* FROM `Sys_Comment` a WHERE `createTime` =( SELECT MAX(`createTime`) FROM `Sys_Comment` WHERE `commentContentID`=a.`commentContentID` )
将外循环的表中的值,在内表中循环比较,在 not exists 时,内循环有一个为true,则不显示外表里的数据。