sql分组查询最大值

1 篇文章 0 订阅
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,则不显示外表里的数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值