public interface WindowSpecificationRowsAndStep
An intermediate step in the construction of a Referencing
WindowSpecification
.
Example:
WindowSpecification spec =
DSL.partitionBy(BOOK.AUTHOR_ID)
.orderBy(BOOK.ID)
.rowsBetweenUnboundedPreceding()
.andCurrentRow();
Referencing XYZ*Step
types directly from client code
It is usually not recommended to reference any XYZ*Step
types
directly from client code, or assign them to local variables. When writing
dynamic SQL, creating a statement's components dynamically, and passing them
to the DSL API statically is usually a better choice. See the manual's
section about dynamic SQL for details: https://www.jooq.org/doc/latest/manual/sql-building/dynamic-sql.
Drawbacks of referencing the XYZ*Step
types directly:
- They're operating on mutable implementations (as of jOOQ 3.x)
- They're less composable and not easy to get right when dynamic SQL gets complex
- They're less readable
- They might have binary incompatible changes between minor releases
- Author:
- Lukas Eder
-
Method Summary
Modifier and TypeMethodDescription@NotNull WindowSpecificationExcludeStep
Add a… AND CURRENT ROW
frame clause to the window specification.@NotNull WindowSpecificationExcludeStep
andFollowing
(int number) Add a… AND [number] FOLLOWING
frame clause to the window specification.@NotNull WindowSpecificationExcludeStep
andPreceding
(int number) Add a… AND [number] PRECEDING
frame clause to the window specification.@NotNull WindowSpecificationExcludeStep
Add a… AND UNBOUNDED FOLLOWING
frame clause to the window specification.@NotNull WindowSpecificationExcludeStep
Add a… AND UNBOUNDED PRECEDING
frame clause to the window specification.
-
Method Details
-
andUnboundedPreceding
@NotNull @Support({AURORA_POSTGRES,BIGQUERY,CLICKHOUSE,COCKROACHDB,DB2,DUCKDB,EXASOL,FIREBIRD_4_0,H2,INFORMIX,MARIADB,MEMSQL,MYSQL_8_0,ORACLE,POSTGRES,REDSHIFT,SNOWFLAKE,SQLDATAWAREHOUSE,SQLITE,SQLSERVER2012,SYBASE,TERADATA,TRINO,VERTICA,YUGABYTEDB}) @NotNull WindowSpecificationExcludeStep andUnboundedPreceding()Add a… AND UNBOUNDED PRECEDING
frame clause to the window specification. -
andPreceding
@NotNull @Support({AURORA_POSTGRES,BIGQUERY,CLICKHOUSE,COCKROACHDB,DB2,DUCKDB,EXASOL,FIREBIRD_4_0,H2,INFORMIX,MARIADB,MEMSQL,MYSQL_8_0,ORACLE,POSTGRES,REDSHIFT,SNOWFLAKE,SQLDATAWAREHOUSE,SQLITE,SQLSERVER2012,SYBASE,TERADATA,TRINO,VERTICA,YUGABYTEDB}) @NotNull WindowSpecificationExcludeStep andPreceding(int number) Add a… AND [number] PRECEDING
frame clause to the window specification. -
andCurrentRow
@NotNull @Support({AURORA_POSTGRES,BIGQUERY,CLICKHOUSE,COCKROACHDB,DB2,DUCKDB,EXASOL,FIREBIRD_4_0,H2,INFORMIX,MARIADB,MEMSQL,MYSQL_8_0,ORACLE,POSTGRES,REDSHIFT,SNOWFLAKE,SQLDATAWAREHOUSE,SQLITE,SQLSERVER2012,SYBASE,TERADATA,TRINO,VERTICA,YUGABYTEDB}) @NotNull WindowSpecificationExcludeStep andCurrentRow()Add a… AND CURRENT ROW
frame clause to the window specification. -
andUnboundedFollowing
@NotNull @Support({AURORA_POSTGRES,BIGQUERY,CLICKHOUSE,COCKROACHDB,DB2,DUCKDB,EXASOL,FIREBIRD_4_0,H2,INFORMIX,MARIADB,MEMSQL,MYSQL_8_0,ORACLE,POSTGRES,REDSHIFT,SNOWFLAKE,SQLDATAWAREHOUSE,SQLITE,SQLSERVER2012,SYBASE,TERADATA,TRINO,VERTICA,YUGABYTEDB}) @NotNull WindowSpecificationExcludeStep andUnboundedFollowing()Add a… AND UNBOUNDED FOLLOWING
frame clause to the window specification. -
andFollowing
@NotNull @Support({AURORA_POSTGRES,BIGQUERY,CLICKHOUSE,COCKROACHDB,DB2,DUCKDB,EXASOL,FIREBIRD_4_0,H2,INFORMIX,MARIADB,MEMSQL,MYSQL_8_0,ORACLE,POSTGRES,REDSHIFT,SNOWFLAKE,SQLDATAWAREHOUSE,SQLITE,SQLSERVER2012,SYBASE,TERADATA,TRINO,VERTICA,YUGABYTEDB}) @NotNull WindowSpecificationExcludeStep andFollowing(int number) Add a… AND [number] FOLLOWING
frame clause to the window specification.
-