This commit is contained in:
Michael Yang 2024-08-18 09:57:13 +08:00
commit e5d4b08a7a

View File

@ -87,9 +87,10 @@ public class MapperUtil {
// 获取查询列和分组列用于判断是否进行优化 // 获取查询列和分组列用于判断是否进行优化
List<QueryColumn> selectColumns = CPI.getSelectColumns(clone); List<QueryColumn> selectColumns = CPI.getSelectColumns(clone);
List<QueryColumn> groupByColumns = CPI.getGroupByColumns(clone); List<QueryColumn> groupByColumns = CPI.getGroupByColumns(clone);
// 如果有 distinct 语句或者 group by 语句则不优化 QueryCondition havingCondition = CPI.getHavingQueryCondition(clone);
// 如果有 distinctgroup byhaving 等语句则不优化
// 这种一旦优化了就会造成 count 语句查询出来的值不对 // 这种一旦优化了就会造成 count 语句查询出来的值不对
if (hasDistinct(selectColumns) || hasGroupBy(groupByColumns)) { if (hasDistinct(selectColumns) || hasGroupBy(groupByColumns) || havingCondition != null) {
return rawCountQueryWrapper(clone); return rawCountQueryWrapper(clone);
} }
// 判断能不能清除 join 语句 // 判断能不能清除 join 语句