Class WindowExpression<T>

  • Type Parameters:
    T - The type of the evaluated expression
    All Implemented Interfaces:
    ResultSetColumn

    public class WindowExpression<T>
    extends Expression<T>
     
                      Expression{T}
                        ^       ^
                        |       |
         WindowExpression{T}   AggregationFunction{T}
                                  ^              ^                   {I} WindowableFunction{T}         .over()
                                  |              |                               ^  ^
       NonWindowableAggregationFunction{T}  WindowableAggregationFunction{T}.....:  :.....AnalyticFunction{T}
        ^                                    ^    ^                                          ^             ^
        |                                    |    |                                          |             |
        |            NumericAggregationFunction  StringAggregationFunction  PositionalAnalyticFunction{?}  |
        |                 ^                         ^                          ^                           |
        |- Count          |- Sum                    |- GroupConcat             |- Lead                     |- RowNumber
        |- CountDistinct  |- Avg                                               |- Lag                      |- Rank
        |- SumDistinct    |- Min                                                                           |- DenseRank
        |- AvgDistinct    |- Max                                                                           |- NTile
        |- GroupConcatDistinct
     
     
       SQL.sum(a.salary) -- WindowableFunction                            .over()
       .over() -- WindowFunctionOverStage{T}                              .partitionBy()  .orderBy()  .end()
       .partitionBy(expression...) -- WindowFunctionPartitioningStage{T}  .orderBy()  .end()
       .orderBy(expression...) -- WindowFunctionOrderingStage{T}          .end()
       .end() -- Expression{T}