当前使用版本(必填,否则不予处理)

3.5.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

count() 和 groupBy() 结合使用时,分组条件生效导致 Sql 查询结果为多条,count() 处理失败

重现步骤(如果有就写完整)

查询语句:

lxMessageService.count(new LambdaQueryWrapper() .eq(LxMessage::getType, type).groupBy(LxMessage::getTaskId));

期待 Sql:

SELECT COUNT( SELECT * FROM lx_message WHERE STATUS = '0' AND (type = 'DISTRICT') GROUP BY task_id)

实际 Sql:

SELECT COUNT( * ) FROM lx_message WHERE STATUS = '0' AND (type = 'DISTRICT') GROUP BY task_id

语句外部执行结果: MyBatis-Plus count() 和 groupBy() 结合使用可能触发 TooManyResultsException

报错信息

org.apache.ibatis.exceptions.TooManyResultsException

Comment From: miemieYaho

这种你应该自己写xml或者注解

Comment From: ysymi

为什么呢? 这个报错也不是很合理啊 仍然看不懂,我看 代码也没有 用selectOne