diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java index 132168b182..90d69faf35 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java @@ -230,6 +230,10 @@ public class SelectStmt extends QueryStmt { if (havingClauseAfterAnaylzed != null) { exprs.add(havingClauseAfterAnaylzed); } + if (orderByElementsAfterAnalyzed != null) { + exprs.addAll(orderByElementsAfterAnalyzed.stream().map(orderByElement -> orderByElement.getExpr()) + .collect(Collectors.toList())); + } return exprs; } diff --git a/regression-test/data/mv_p0/test_dup_mv_plus/test_dup_mv_plus.out b/regression-test/data/mv_p0/test_dup_mv_plus/test_dup_mv_plus.out index 984f07c023..1e705fcc85 100644 --- a/regression-test/data/mv_p0/test_dup_mv_plus/test_dup_mv_plus.out +++ b/regression-test/data/mv_p0/test_dup_mv_plus/test_dup_mv_plus.out @@ -47,3 +47,9 @@ 1 2 +-- !select_mv -- +-4 -3 +3 -2 +1 2 +2 3 + diff --git a/regression-test/suites/mv_p0/test_dup_mv_plus/test_dup_mv_plus.groovy b/regression-test/suites/mv_p0/test_dup_mv_plus/test_dup_mv_plus.groovy index eb919b28f6..2c3f403996 100644 --- a/regression-test/suites/mv_p0/test_dup_mv_plus/test_dup_mv_plus.groovy +++ b/regression-test/suites/mv_p0/test_dup_mv_plus/test_dup_mv_plus.groovy @@ -83,4 +83,10 @@ suite ("test_dup_mv_plus") { contains "(d_table)" } qt_select_group_mv_not "select sum(k2) from d_table group by k3 order by k3;" + + explain { + sql("select k1,k2+1 from d_table order by k2;") + contains "(d_table)" + } + qt_select_mv "select k1,k2+1 from d_table order by k2;" }