diff --git a/src/sql/resolver/expr/ob_raw_expr_deduce_type.cpp b/src/sql/resolver/expr/ob_raw_expr_deduce_type.cpp index c7b9b240fa..a03c3581b1 100644 --- a/src/sql/resolver/expr/ob_raw_expr_deduce_type.cpp +++ b/src/sql/resolver/expr/ob_raw_expr_deduce_type.cpp @@ -1941,8 +1941,8 @@ int ObRawExprDeduceType::check_group_aggr_param(ObAggFunRawExpr &expr) || ob_is_lob_locator(param_expr->get_data_type()) || ob_is_json(param_expr->get_data_type())) && (T_FUN_ORA_JSON_OBJECTAGG != expr.get_expr_type() - && T_FUN_ORA_JSON_ARRAYAGG != expr.get_expr_type() - && T_FUN_COUNT != expr.get_expr_type())) + && T_FUN_ORA_JSON_ARRAYAGG != expr.get_expr_type())) + && !(T_FUN_COUNT == expr.get_expr_type() && ob_is_json(param_expr->get_data_type())) && T_FUN_MEDIAN != expr.get_expr_type() && T_FUN_GROUP_PERCENTILE_CONT != expr.get_expr_type() && T_FUN_GROUP_PERCENTILE_DISC != expr.get_expr_type()