Interface Window<T>

  • Type Parameters:
    T - the type of Queryable element
    All Superinterfaces:
    Queryable<T>

    public interface Window<T>
    extends Queryable<T>
    Represents window which stores elements used by window functions
    Since:
    4.0.0
    • Method Detail

      • rowNumber

        long rowNumber()
        Returns row number in the window, similar to SQL's row_number()
        Returns:
        the row number
        Since:
        4.0.0
      • lead

        default <V> V lead​(Function<? super T,​? extends V> extractor)
        Returns the next value in the window, similar to SQL's lead()
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        Returns:
        the next value
        Since:
        4.0.0
      • lead

        default <V> V lead​(Function<? super T,​? extends V> extractor,
                           long lead)
        Returns the next value in the window, similar to SQL's lead()
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        lead - the offset
        Returns:
        the next value
        Since:
        4.0.0
      • lead

        <V> V lead​(Function<? super T,​? extends V> extractor,
                   long lead,
                   V def)
        Returns the next value by lead in the window, similar to SQL's lead()
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        lead - the offset
        def - the default value
        Returns:
        the next value by lead
        Since:
        4.0.0
      • lag

        default <V> V lag​(Function<? super T,​? extends V> extractor)
        Returns the previous value in the window, similar to SQL's lag()
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        Returns:
        the previous value
        Since:
        4.0.0
      • lag

        default <V> V lag​(Function<? super T,​? extends V> extractor,
                          long lag)
        Returns the previous value in the window, similar to SQL's lag()
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        lag - the offset
        Returns:
        the previous value
        Since:
        4.0.0
      • lag

        <V> V lag​(Function<? super T,​? extends V> extractor,
                  long lag,
                  V def)
        Returns the previous value by lag in the window, similar to SQL's lag()
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        lag - the offset
        def - the default value
        Returns:
        the previous value by lag
        Since:
        4.0.0
      • firstValue

        <V> V firstValue​(Function<? super T,​? extends V> extractor)
        Returns the first value in the window
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        Returns:
        the first value
        Since:
        4.0.0
      • lastValue

        <V> V lastValue​(Function<? super T,​? extends V> extractor)
        Returns the last value in the window
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        Returns:
        the last value
        Since:
        4.0.0
      • nthValue

        <V> V nthValue​(Function<? super T,​? extends V> extractor,
                       long index)
        Returns the nth value in the window
        Type Parameters:
        V - the type of field
        Parameters:
        extractor - field extractor
        index - index for value to fetch, starting with 0
        Returns:
        the nth value
        Since:
        4.0.0
      • rank

        Long rank()
        Returns the rank in the window
        Returns:
        the rank
        Since:
        4.0.0
      • denseRank

        Long denseRank()
        Returns the dense rank in the window
        Returns:
        the dense rank
        Since:
        4.0.0
      • percentRank

        BigDecimal percentRank()
        Returns the percent rank in the window
        Returns:
        the percent rank
        Since:
        4.0.0
      • cumeDist

        BigDecimal cumeDist()
        Returns the cumulative distribution of a value in the window
        Returns:
        the cumulative distribution of a value
        Since:
        4.0.0
      • ntile

        long ntile​(long bucketCnt)
        Distributes rows of an ordered window into a pre-defined number of roughly equal buckets
        Parameters:
        bucketCnt - bucket count
        Returns:
        bucket index starting with 0
        Since:
        4.0.0