From 0ad8c6ef78bb4a2ab1ddad3aa91d094bba7442fc Mon Sep 17 00:00:00 2001 From: Maksim Kita Date: Sat, 13 Apr 2024 18:48:38 +0300 Subject: [PATCH] Added docs --- docs/en/sql-reference/statements/select/index.md | 3 +++ docs/en/sql-reference/statements/select/qualify.md | 14 ++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 docs/en/sql-reference/statements/select/qualify.md diff --git a/docs/en/sql-reference/statements/select/index.md b/docs/en/sql-reference/statements/select/index.md index 86a4e9639f5..1fea29aa40e 100644 --- a/docs/en/sql-reference/statements/select/index.md +++ b/docs/en/sql-reference/statements/select/index.md @@ -21,6 +21,8 @@ SELECT [DISTINCT [ON (column1, column2, ...)]] expr_list [WHERE expr] [GROUP BY expr_list] [WITH ROLLUP|WITH CUBE] [WITH TOTALS] [HAVING expr] +[WINDOW window_expr_list] +[QUALIFY expr] [ORDER BY expr_list] [WITH FILL] [FROM expr] [TO expr] [STEP expr] [INTERPOLATE [(expr_list)]] [LIMIT [offset_value, ]n BY columns] [LIMIT [n, ]m] [WITH TIES] @@ -45,6 +47,7 @@ Specifics of each optional clause are covered in separate sections, which are li - [GROUP BY clause](../../../sql-reference/statements/select/group-by.md) - [LIMIT BY clause](../../../sql-reference/statements/select/limit-by.md) - [HAVING clause](../../../sql-reference/statements/select/having.md) +- [QUALIFY clause](../../../sql-reference/statements/select/qualify.md) - [LIMIT clause](../../../sql-reference/statements/select/limit.md) - [OFFSET clause](../../../sql-reference/statements/select/offset.md) - [UNION clause](../../../sql-reference/statements/select/union.md) diff --git a/docs/en/sql-reference/statements/select/qualify.md b/docs/en/sql-reference/statements/select/qualify.md new file mode 100644 index 00000000000..928bcbfc965 --- /dev/null +++ b/docs/en/sql-reference/statements/select/qualify.md @@ -0,0 +1,14 @@ +--- +slug: /en/sql-reference/statements/select/qualify +sidebar_label: QUALIFY +--- + +# QUALIFY Clause + +Allows filtering window functions results. It is similar to the [WHERE](../../../sql-reference/statements/select/where.md) clause, but the difference is that `WHERE` is performed before window functions evaluation, while `QUALIFY` is performed after it. + +It is possible to reference window functions results from `SELECT` clause in `QUALIFY` clause by their alias. Alternatively, `QUALIFY` clause can filter on results of additional window functions that are not returned in query results. + +## Limitations + +`QUALIFY` can’t be used if there are no window functions to evaluate. Use `WHERE` instead.