@Override
  public Pattern<AggregationNode> getPattern() {
    return PATTERN;
  }
Implements distinct aggregations with different inputs by transforming plans of the following
shape:

<pre>
- Aggregation
       GROUP BY (k)
       F1(DISTINCT a0, a1, ...)
       F2(DISTINCT b0, b1, ...)
       F3(c0, c1, ...)
    - X
</pre>

into

<pre>
- Aggregation
       GROUP BY (k)
       F1(a0, a1, ...) mask ($0)
       F2(b0, b1, ...) mask ($1)
       F3(c0, c1, ...)
    - MarkDistinct (k, a0, a1, ...) -> $0
         - MarkDistinct (k, b0, b1, ...) -> $1
             - X
</pre>
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MultipleDistinctAggregationToMarkDistinct.java