This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/asf-site by this push: new ee5da5dba4 Publish built docs triggered by a078cd257d8073a5d01b69b850d173c92f8bcd15 ee5da5dba4 is described below commit ee5da5dba47f99451b6d5b951d97a1c568aab57d Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com> AuthorDate: Fri Aug 1 19:48:25 2025 +0000 Publish built docs triggered by a078cd257d8073a5d01b69b850d173c92f8bcd15 --- _sources/user-guide/sql/window_functions.md.txt | 109 ++--- searchindex.js | 2 +- user-guide/sql/index.html | 4 + user-guide/sql/window_functions.html | 609 ++++++++++++------------ 4 files changed, 365 insertions(+), 359 deletions(-) diff --git a/_sources/user-guide/sql/window_functions.md.txt b/_sources/user-guide/sql/window_functions.md.txt index bcb33bad7f..dc06f3d051 100644 --- a/_sources/user-guide/sql/window_functions.md.txt +++ b/_sources/user-guide/sql/window_functions.md.txt @@ -169,13 +169,11 @@ cume_dist() #### Example ```sql - --Example usage of the cume_dist window function: - SELECT salary, - cume_dist() OVER (ORDER BY salary) AS cume_dist - FROM employees; -``` +-- Example usage of the cume_dist window function: +SELECT salary, + cume_dist() OVER (ORDER BY salary) AS cume_dist +FROM employees; -```sql +--------+-----------+ | salary | cume_dist | +--------+-----------+ @@ -196,14 +194,12 @@ dense_rank() #### Example ```sql - --Example usage of the dense_rank window function: - SELECT department, - salary, - dense_rank() OVER (PARTITION BY department ORDER BY salary DESC) AS dense_rank - FROM employees; -``` +-- Example usage of the dense_rank window function: +SELECT department, + salary, + dense_rank() OVER (PARTITION BY department ORDER BY salary DESC) AS dense_rank +FROM employees; -```sql +-------------+--------+------------+ | department | salary | dense_rank | +-------------+--------+------------+ @@ -231,14 +227,12 @@ ntile(expression) #### Example ```sql - --Example usage of the ntile window function: - SELECT employee_id, - salary, - ntile(4) OVER (ORDER BY salary DESC) AS quartile - FROM employees; -``` +-- Example usage of the ntile window function: +SELECT employee_id, + salary, + ntile(4) OVER (ORDER BY salary DESC) AS quartile +FROM employees; -```sql +-------------+--------+----------+ | employee_id | salary | quartile | +-------------+--------+----------+ @@ -264,14 +258,12 @@ percent_rank() #### Example ```sql - --Example usage of the percent_rank window function: - SELECT employee_id, - salary, - percent_rank() OVER (ORDER BY salary) AS percent_rank - FROM employees; -``` + -- Example usage of the percent_rank window function: +SELECT employee_id, + salary, + percent_rank() OVER (ORDER BY salary) AS percent_rank +FROM employees; -```sql +-------------+--------+---------------+ | employee_id | salary | percent_rank | +-------------+--------+---------------+ @@ -292,14 +284,12 @@ rank() #### Example ```sql - --Example usage of the rank window function: - SELECT department, - salary, - rank() OVER (PARTITION BY department ORDER BY salary DESC) AS rank - FROM employees; -``` +-- Example usage of the rank window function: +SELECT department, + salary, + rank() OVER (PARTITION BY department ORDER BY salary DESC) AS rank +FROM employees; -```sql +-------------+--------+------+ | department | salary | rank | +-------------+--------+------+ @@ -323,14 +313,12 @@ row_number() #### Example ```sql - --Example usage of the row_number window function: - SELECT department, - salary, - row_number() OVER (PARTITION BY department ORDER BY salary DESC) AS row_num - FROM employees; -``` +-- Example usage of the row_number window function: +SELECT department, + salary, + row_number() OVER (PARTITION BY department ORDER BY salary DESC) AS row_num +FROM employees; -````sql +-------------+--------+---------+ | department | salary | row_num | +-------------+--------+---------+ @@ -341,8 +329,9 @@ row_number() | Engineering | 90000 | 1 | | Engineering | 80000 | 2 | +-------------+--------+---------+ -```# +``` +# ## Analytical Functions @@ -358,7 +347,7 @@ Returns value evaluated at the row that is the first row of the window frame. ```sql first_value(expression) -```` +``` #### Arguments @@ -367,15 +356,13 @@ first_value(expression) #### Example ```sql - --Example usage of the first_value window function: - SELECT department, - employee_id, - salary, - first_value(salary) OVER (PARTITION BY department ORDER BY salary DESC) AS top_salary - FROM employees; -``` +-- Example usage of the first_value window function: +SELECT department, + employee_id, + salary, + first_value(salary) OVER (PARTITION BY department ORDER BY salary DESC) AS top_salary +FROM employees; -```sql +-------------+-------------+--------+------------+ | department | employee_id | salary | top_salary | +-------------+-------------+--------+------------+ @@ -404,14 +391,12 @@ lag(expression, offset, default) #### Example ```sql - --Example usage of the lag window function: - SELECT employee_id, - salary, - lag(salary, 1, 0) OVER (ORDER BY employee_id) AS prev_salary - FROM employees; -``` +-- Example usage of the lag window function: +SELECT employee_id, + salary, + lag(salary, 1, 0) OVER (ORDER BY employee_id) AS prev_salary +FROM employees; -```sql +-------------+--------+-------------+ | employee_id | salary | prev_salary | +-------------+--------+-------------+ @@ -443,9 +428,7 @@ SELECT department, salary, last_value(salary) OVER (PARTITION BY department ORDER BY salary) AS running_last_salary FROM employees; -``` -```sql +-------------+-------------+--------+---------------------+ | department | employee_id | salary | running_last_salary | +-------------+-------------+--------+---------------------+ @@ -474,16 +457,14 @@ lead(expression, offset, default) #### Example ```sql --- Example usage of lead() : +-- Example usage of lead window function: SELECT employee_id, department, salary, lead(salary, 1, 0) OVER (PARTITION BY department ORDER BY salary) AS next_salary FROM employees; -``` -```sql +-------------+-------------+--------+--------------+ | employee_id | department | salary | next_salary | +-------------+-------------+--------+--------------+ @@ -526,9 +507,7 @@ SELECT nth_value(salary, 2) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) AS nth_value FROM employees; -``` -```text +-----------+ | nth_value | +-----------+ diff --git a/searchindex.js b/searchindex.js index 3c28f61af5..6c28e7f08e 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles":{"!=":[[56,"op-neq"]],"!~":[[56,"op-re-not-match"]],"!~*":[[56,"op-re-not-match-i"]],"!~~":[[56,"id19"]],"!~~*":[[56,"id20"]],"#":[[56,"op-bit-xor"]],"%":[[56,"op-modulo"]],"&":[[56,"op-bit-and"]],"(relation, name) tuples in logical fields and logical columns are unique":[[12,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[56,"op-multiply"]],"+":[[56,"op-plus"]],"-":[[56,"op-minus"]],"/":[[56,"op-divide"]],"<":[[56,"op-lt"]],"< [...] \ No newline at end of file +Search.setIndex({"alltitles":{"":[[62,"id6"]],"!=":[[56,"op-neq"]],"!~":[[56,"op-re-not-match"]],"!~*":[[56,"op-re-not-match-i"]],"!~~":[[56,"id19"]],"!~~*":[[56,"id20"]],"#":[[56,"op-bit-xor"]],"%":[[56,"op-modulo"]],"&":[[56,"op-bit-and"]],"(relation, name) tuples in logical fields and logical columns are unique":[[12,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[56,"op-multiply"]],"+":[[56,"op-plus"]],"-":[[56,"op-minus"]],"/":[[56,"op-divide"]],"<":[ [...] \ No newline at end of file diff --git a/user-guide/sql/index.html b/user-guide/sql/index.html index f3625cd7af..85846e2ed1 100644 --- a/user-guide/sql/index.html +++ b/user-guide/sql/index.html @@ -654,6 +654,10 @@ <li class="toctree-l2"><a class="reference internal" href="window_functions.html#ranking-functions">Ranking Functions</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="window_functions.html#id6"></a><ul> +<li class="toctree-l2"><a class="reference internal" href="window_functions.html#analytical-functions">Analytical Functions</a></li> +</ul> +</li> <li class="toctree-l1"><a class="reference internal" href="scalar_functions.html">Scalar Functions</a><ul> <li class="toctree-l2"><a class="reference internal" href="scalar_functions.html#math-functions">Math Functions</a></li> <li class="toctree-l2"><a class="reference internal" href="scalar_functions.html#conditional-functions">Conditional Functions</a></li> diff --git a/user-guide/sql/window_functions.html b/user-guide/sql/window_functions.html index d5d0c6255c..f7173208e8 100644 --- a/user-guide/sql/window_functions.html +++ b/user-guide/sql/window_functions.html @@ -544,213 +544,244 @@ <nav id="bd-toc-nav"> <ul class="visible nav section-nav flex-column"> - <li class="toc-h2 nav-item toc-entry"> - <a class="reference internal nav-link" href="#syntax"> - Syntax + <li class="toc-h1 nav-item toc-entry"> + <a class="reference internal nav-link" href="#"> + Window Functions </a> - </li> - <li class="toc-h2 nav-item toc-entry"> - <a class="reference internal nav-link" href="#aggregate-functions"> - Aggregate functions - </a> - </li> - <li class="toc-h2 nav-item toc-entry"> - <a class="reference internal nav-link" href="#ranking-functions"> - Ranking Functions - </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#cume-dist"> - <code class="docutils literal notranslate"> - <span class="pre"> - cume_dist - </span> - </code> + <ul class="visible nav section-nav flex-column"> + <li class="toc-h2 nav-item toc-entry"> + <a class="reference internal nav-link" href="#syntax"> + Syntax </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#example"> - Example - </a> - </li> - </ul> </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#dense-rank"> - <code class="docutils literal notranslate"> - <span class="pre"> - dense_rank - </span> - </code> + <li class="toc-h2 nav-item toc-entry"> + <a class="reference internal nav-link" href="#aggregate-functions"> + Aggregate functions </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id1"> - Example - </a> - </li> - </ul> </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#ntile"> - <code class="docutils literal notranslate"> - <span class="pre"> - ntile - </span> - </code> + <li class="toc-h2 nav-item toc-entry"> + <a class="reference internal nav-link" href="#ranking-functions"> + Ranking Functions </a> <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#arguments"> - Arguments + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#cume-dist"> + <code class="docutils literal notranslate"> + <span class="pre"> + cume_dist + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#example"> + Example + </a> + </li> + </ul> </li> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id2"> - Example + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#dense-rank"> + <code class="docutils literal notranslate"> + <span class="pre"> + dense_rank + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id1"> + Example + </a> + </li> + </ul> </li> - </ul> - </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#percent-rank"> - <code class="docutils literal notranslate"> - <span class="pre"> - percent_rank - </span> - </code> - </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id3"> - Example + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#ntile"> + <code class="docutils literal notranslate"> + <span class="pre"> + ntile + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#arguments"> + Arguments + </a> + </li> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id2"> + Example + </a> + </li> + </ul> </li> - </ul> - </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#rank"> - <code class="docutils literal notranslate"> - <span class="pre"> - rank - </span> - </code> - </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id4"> - Example + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#percent-rank"> + <code class="docutils literal notranslate"> + <span class="pre"> + percent_rank + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id3"> + Example + </a> + </li> + </ul> </li> - </ul> - </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#row-number"> - <code class="docutils literal notranslate"> - <span class="pre"> - row_number - </span> - </code> - </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id5"> - Example - </a> - </li> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id6"> - Arguments + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#rank"> + <code class="docutils literal notranslate"> + <span class="pre"> + rank + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id4"> + Example + </a> + </li> + </ul> </li> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id7"> - Example + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#row-number"> + <code class="docutils literal notranslate"> + <span class="pre"> + row_number + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id5"> + Example + </a> + </li> + </ul> </li> </ul> </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#lag"> - <code class="docutils literal notranslate"> - <span class="pre"> - lag - </span> - </code> - </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id8"> - Arguments - </a> - </li> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id9"> - Example - </a> - </li> - </ul> - </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#last-value"> - <code class="docutils literal notranslate"> - <span class="pre"> - last_value - </span> - </code> + </ul> + </li> + <li class="toc-h1 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id6"> + </a> + <ul class="visible nav section-nav flex-column"> + <li class="toc-h2 nav-item toc-entry"> + <a class="reference internal nav-link" href="#analytical-functions"> + Analytical Functions </a> <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id10"> - Arguments + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#first-value"> + <code class="docutils literal notranslate"> + <span class="pre"> + first_value + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id7"> + Arguments + </a> + </li> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id8"> + Example + </a> + </li> + </ul> </li> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id11"> - Example + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#lag"> + <code class="docutils literal notranslate"> + <span class="pre"> + lag + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id9"> + Arguments + </a> + </li> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id10"> + Example + </a> + </li> + </ul> </li> - </ul> - </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#lead"> - <code class="docutils literal notranslate"> - <span class="pre"> - lead - </span> - </code> - </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id12"> - Arguments + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#last-value"> + <code class="docutils literal notranslate"> + <span class="pre"> + last_value + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id11"> + Arguments + </a> + </li> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id12"> + Example + </a> + </li> + </ul> </li> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id13"> - Example + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#lead"> + <code class="docutils literal notranslate"> + <span class="pre"> + lead + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id13"> + Arguments + </a> + </li> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id14"> + Example + </a> + </li> + </ul> </li> - </ul> - </li> - <li class="toc-h3 nav-item toc-entry"> - <a class="reference internal nav-link" href="#nth-value"> - <code class="docutils literal notranslate"> - <span class="pre"> - nth_value - </span> - </code> - </a> - <ul class="nav section-nav flex-column"> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id14"> - Arguments - </a> - </li> - <li class="toc-h4 nav-item toc-entry"> - <a class="reference internal nav-link" href="#id15"> - Example + <li class="toc-h3 nav-item toc-entry"> + <a class="reference internal nav-link" href="#nth-value"> + <code class="docutils literal notranslate"> + <span class="pre"> + nth_value + </span> + </code> </a> + <ul class="nav section-nav flex-column"> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id15"> + Arguments + </a> + </li> + <li class="toc-h4 nav-item toc-entry"> + <a class="reference internal nav-link" href="#id16"> + Example + </a> + </li> + </ul> </li> </ul> </li> @@ -934,13 +965,12 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo </div> <section id="example"> <h4>Example<a class="headerlink" href="#example" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">--Example usage of the cume_dist window function:</span> -<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">salary</span><span class="p">,</span> -<span class="w"> </span><span class="n">cume_dist</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">cume_dist</span> -<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">--------+-----------+</span> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of the cume_dist window function:</span> +<span class="k">SELECT</span><span class="w"> </span><span class="n">salary</span><span class="p">,</span> +<span class="w"> </span><span class="n">cume_dist</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">cume_dist</span> +<span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> + +<span class="o">+</span><span class="c1">--------+-----------+</span> <span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">cume_dist</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">--------+-----------+</span> <span class="o">|</span><span class="w"> </span><span class="mi">30000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">33</span><span class="w"> </span><span class="o">|</span> @@ -959,14 +989,13 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo </div> <section id="id1"> <h4>Example<a class="headerlink" href="#id1" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">--Example usage of the dense_rank window function:</span> -<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> -<span class="w"> </span><span class="n">salary</span><span class="p">,</span> -<span class="w"> </span><span class="n">dense_rank</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span cla [...] -<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+--------+------------+</span> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of the dense_rank window function:</span> +<span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> +<span class="w"> </span><span class="n">salary</span><span class="p">,</span> +<span class="w"> </span><span class="n">dense_rank</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="w"> [...] +<span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> + +<span class="o">+</span><span class="c1">-------------+--------+------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">dense_rank</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+--------+------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">Sales</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">70000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span> @@ -994,14 +1023,13 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo </section> <section id="id2"> <h4>Example<a class="headerlink" href="#id2" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">--Example usage of the ntile window function:</span> -<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> -<span class="w"> </span><span class="n">salary</span><span class="p">,</span> -<span class="w"> </span><span class="n">ntile</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><spa [...] -<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+--------+----------+</span> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of the ntile window function:</span> +<span class="k">SELECT</span><span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> +<span class="w"> </span><span class="n">salary</span><span class="p">,</span> +<span class="w"> </span><span class="n">ntile</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class [...] +<span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> + +<span class="o">+</span><span class="c1">-------------+--------+----------+</span> <span class="o">|</span><span class="w"> </span><span class="n">employee_id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">quartile</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+--------+----------+</span> <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">90000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span> @@ -1025,14 +1053,13 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo </div> <section id="id3"> <h4>Example<a class="headerlink" href="#id3" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">--Example usage of the percent_rank window function:</span> -<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> -<span class="w"> </span><span class="n">salary</span><span class="p">,</span> -<span class="w"> </span><span class="n">percent_rank</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">percent_rank</span> -<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+--------+---------------+</span> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">-- Example usage of the percent_rank window function:</span> +<span class="k">SELECT</span><span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> +<span class="w"> </span><span class="n">salary</span><span class="p">,</span> +<span class="w"> </span><span class="n">percent_rank</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">percent_rank</span> +<span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> + +<span class="o">+</span><span class="c1">-------------+--------+---------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">employee_id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">percent_rank</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+--------+---------------+</span> <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">30000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">00</span><span class="w"> </span><span class="o">|</span> @@ -1051,14 +1078,13 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo </div> <section id="id4"> <h4>Example<a class="headerlink" href="#id4" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">--Example usage of the rank window function:</span> -<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> -<span class="w"> </span><span class="n">salary</span><span class="p">,</span> -<span class="w"> </span><span class="n">rank</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="w" [...] -<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+--------+------+</span> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of the rank window function:</span> +<span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> +<span class="w"> </span><span class="n">salary</span><span class="p">,</span> +<span class="w"> </span><span class="n">rank</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="w"> </spa [...] +<span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> + +<span class="o">+</span><span class="c1">-------------+--------+------+</span> <span class="o">|</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">rank</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+--------+------+</span> <span class="o">|</span><span class="w"> </span><span class="n">Sales</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">70000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span> @@ -1080,14 +1106,13 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo </div> <section id="id5"> <h4>Example<a class="headerlink" href="#id5" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">--Example usage of the row_number window function:</span> -<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> -<span class="w"> </span><span class="n">salary</span><span class="p">,</span> -<span class="w"> </span><span class="n">row_number</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span cla [...] -<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+--------+---------+</span> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of the row_number window function:</span> +<span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> +<span class="w"> </span><span class="n">salary</span><span class="p">,</span> +<span class="w"> </span><span class="n">row_number</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">salary</span><span class="w"> < [...] +<span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> + +<span class="o">+</span><span class="c1">-------------+--------+---------+</span> <span class="o">|</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">row_num</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+--------+---------+</span> <span class="o">|</span><span class="w"> </span><span class="n">Sales</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">70000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span> @@ -1097,43 +1122,45 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo <span class="o">|</span><span class="w"> </span><span class="n">Engineering</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">90000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span> <span class="o">|</span><span class="w"> </span><span class="n">Engineering</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">80000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+--------+---------+</span> -<span class="o">```#</span> - - -<span class="o">##</span><span class="w"> </span><span class="n">Analytical</span><span class="w"> </span><span class="n">Functions</span> - -<span class="o">-</span><span class="w"> </span><span class="p">[</span><span class="n">first_value</span><span class="p">](</span><span class="o">#</span><span class="n">first_value</span><span class="p">)</span> -<span class="o">-</span><span class="w"> </span><span class="p">[</span><span class="n">lag</span><span class="p">](</span><span class="o">#</span><span class="n">lag</span><span class="p">)</span> -<span class="o">-</span><span class="w"> </span><span class="p">[</span><span class="n">last_value</span><span class="p">](</span><span class="o">#</span><span class="n">last_value</span><span class="p">)</span> -<span class="o">-</span><span class="w"> </span><span class="p">[</span><span class="n">lead</span><span class="p">](</span><span class="o">#</span><span class="n">lead</span><span class="p">)</span> -<span class="o">-</span><span class="w"> </span><span class="p">[</span><span class="n">nth_value</span><span class="p">](</span><span class="o">#</span><span class="n">nth_value</span><span class="p">)</span> - -<span class="o">###</span><span class="w"> </span><span class="o">`</span><span class="n">first_value</span><span class="o">`</span> - -<span class="k">Returns</span><span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="n">evaluated</span><span class="w"> </span><span class="k">at</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="n">that</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">first</span><sp [...] - -<span class="o">```</span><span class="k">sql</span> -<span class="n">first_value</span><span class="p">(</span><span class="n">expression</span><span class="p">)</span> </pre></div> </div> </section> +</section> +</section> +</section> <section id="id6"> -<h4>Arguments<a class="headerlink" href="#id6" title="Link to this heading">¶</a></h4> +<h1><a class="headerlink" href="#id6" title="Link to this heading">¶</a></h1> +<section id="analytical-functions"> +<h2>Analytical Functions<a class="headerlink" href="#analytical-functions" title="Link to this heading">¶</a></h2> <ul class="simple"> -<li><p><strong>expression</strong>: Expression to operate on</p></li> +<li><p><a class="reference internal" href="#first-value">first_value</a></p></li> +<li><p><a class="reference internal" href="#lag">lag</a></p></li> +<li><p><a class="reference internal" href="#last-value">last_value</a></p></li> +<li><p><a class="reference internal" href="#lead">lead</a></p></li> +<li><p><a class="reference internal" href="#nth-value">nth_value</a></p></li> </ul> -</section> -<section id="id7"> -<h4>Example<a class="headerlink" href="#id7" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">--Example usage of the first_value window function:</span> -<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> -<span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> -<span class="w"> </span><span class="n">salary</span><span class="p">,</span> -<span class="w"> </span><span class="n">first_value</span><span class="p">(</span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span cla [...] -<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> +<section id="first-value"> +<h3><code class="docutils literal notranslate"><span class="pre">first_value</span></code><a class="headerlink" href="#first-value" title="Link to this heading">¶</a></h3> +<p>Returns value evaluated at the row that is the first row of the window frame.</p> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="n">first_value</span><span class="p">(</span><span class="n">expression</span><span class="p">)</span> </pre></div> </div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+-------------+--------+------------+</span> +<section id="id7"> +<h4>Arguments<a class="headerlink" href="#id7" title="Link to this heading">¶</a></h4> +<ul class="simple"> +<li><p><strong>expression</strong>: Expression to operate on</p></li> +</ul> +</section> +<section id="id8"> +<h4>Example<a class="headerlink" href="#id8" title="Link to this heading">¶</a></h4> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of the first_value window function:</span> +<span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> +<span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> +<span class="w"> </span><span class="n">salary</span><span class="p">,</span> +<span class="w"> </span><span class="n">first_value</span><span class="p">(</span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> < [...] +<span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> + +<span class="o">+</span><span class="c1">-------------+-------------+--------+------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">employee_id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">top_salary</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+-------------+--------+------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">Sales</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">70000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">70000</span><span class="w"> </span><span class="o">|</span> @@ -1152,24 +1179,23 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo <div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="n">lag</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span><span class="w"> </span><span class="k">offset</span><span class="p">,</span><span class="w"> </span><span class="k">default</span><span class="p">)</span> </pre></div> </div> -<section id="id8"> -<h4>Arguments<a class="headerlink" href="#id8" title="Link to this heading">¶</a></h4> +<section id="id9"> +<h4>Arguments<a class="headerlink" href="#id9" title="Link to this heading">¶</a></h4> <ul class="simple"> <li><p><strong>expression</strong>: Expression to operate on</p></li> <li><p><strong>offset</strong>: Integer. Specifies how many rows back the value of expression should be retrieved. Defaults to 1.</p></li> <li><p><strong>default</strong>: The default value if the offset is not within the partition. Must be of the same type as expression.</p></li> </ul> </section> -<section id="id9"> -<h4>Example<a class="headerlink" href="#id9" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1">--Example usage of the lag window function:</span> -<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> -<span class="w"> </span><span class="n">salary</span><span class="p">,</span> -<span class="w"> </span><span class="n">lag</span><span class="p">(</span><span class="n">salary</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span cla [...] -<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+--------+-------------+</span> +<section id="id10"> +<h4>Example<a class="headerlink" href="#id10" title="Link to this heading">¶</a></h4> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of the lag window function:</span> +<span class="k">SELECT</span><span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> +<span class="w"> </span><span class="n">salary</span><span class="p">,</span> +<span class="w"> </span><span class="n">lag</span><span class="p">(</span><span class="n">salary</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n"> [...] +<span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> + +<span class="o">+</span><span class="c1">-------------+--------+-------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">employee_id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">prev_salary</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+--------+-------------+</span> <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">30000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">|</span> @@ -1187,23 +1213,22 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo <div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="n">last_value</span><span class="p">(</span><span class="n">expression</span><span class="p">)</span> </pre></div> </div> -<section id="id10"> -<h4>Arguments<a class="headerlink" href="#id10" title="Link to this heading">¶</a></h4> +<section id="id11"> +<h4>Arguments<a class="headerlink" href="#id11" title="Link to this heading">¶</a></h4> <ul class="simple"> <li><p><strong>expression</strong>: Expression to operate on</p></li> </ul> </section> -<section id="id11"> -<h4>Example<a class="headerlink" href="#id11" title="Link to this heading">¶</a></h4> +<section id="id12"> +<h4>Example<a class="headerlink" href="#id12" title="Link to this heading">¶</a></h4> <div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- SQL example of last_value:</span> <span class="k">SELECT</span><span class="w"> </span><span class="n">department</span><span class="p">,</span> <span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> <span class="w"> </span><span class="n">salary</span><span class="p">,</span> <span class="w"> </span><span class="n">last_value</span><span class="p">(</span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w [...] <span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+-------------+--------+---------------------+</span> + +<span class="o">+</span><span class="c1">-------------+-------------+--------+---------------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">employee_id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">running_last_salary</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+-------------+--------+---------------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">Sales</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">30000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">30000</span><span class="w"> </span><span class="o">|</span> @@ -1222,26 +1247,25 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo <div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="n">lead</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span><span class="w"> </span><span class="k">offset</span><span class="p">,</span><span class="w"> </span><span class="k">default</span><span class="p">)</span> </pre></div> </div> -<section id="id12"> -<h4>Arguments<a class="headerlink" href="#id12" title="Link to this heading">¶</a></h4> +<section id="id13"> +<h4>Arguments<a class="headerlink" href="#id13" title="Link to this heading">¶</a></h4> <ul class="simple"> <li><p><strong>expression</strong>: Expression to operate on</p></li> <li><p><strong>offset</strong>: Integer. Specifies how many rows forward the value of expression should be retrieved. Defaults to 1.</p></li> <li><p><strong>default</strong>: The default value if the offset is not within the partition. Must be of the same type as expression.</p></li> </ul> </section> -<section id="id13"> -<h4>Example<a class="headerlink" href="#id13" title="Link to this heading">¶</a></h4> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of lead() :</span> +<section id="id14"> +<h4>Example<a class="headerlink" href="#id14" title="Link to this heading">¶</a></h4> +<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Example usage of lead window function:</span> <span class="k">SELECT</span> <span class="w"> </span><span class="n">employee_id</span><span class="p">,</span> <span class="w"> </span><span class="n">department</span><span class="p">,</span> <span class="w"> </span><span class="n">salary</span><span class="p">,</span> <span class="w"> </span><span class="n">lead</span><span class="p">(</span><span class="n">salary</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class [...] <span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="c1">-------------+-------------+--------+--------------+</span> + +<span class="o">+</span><span class="c1">-------------+-------------+--------+--------------+</span> <span class="o">|</span><span class="w"> </span><span class="n">employee_id</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">department</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">next_salary</span><span class="w"> </span><span class="o">|</span> <span class="o">+</span><span class="c1">-------------+-------------+--------+--------------+</span> <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Sales</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">30000</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">50000</span><span class="w"> </span><span class="o">|</span> @@ -1260,15 +1284,15 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo <div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="n">nth_value</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">)</span> </pre></div> </div> -<section id="id14"> -<h4>Arguments<a class="headerlink" href="#id14" title="Link to this heading">¶</a></h4> +<section id="id15"> +<h4>Arguments<a class="headerlink" href="#id15" title="Link to this heading">¶</a></h4> <ul class="simple"> <li><p><strong>expression</strong>: The column from which to retrieve the nth value.</p></li> <li><p><strong>n</strong>: Integer. Specifies the row number (starting from 1) in the window frame.</p></li> </ul> </section> -<section id="id15"> -<h4>Example<a class="headerlink" href="#id15" title="Link to this heading">¶</a></h4> +<section id="id16"> +<h4>Example<a class="headerlink" href="#id16" title="Link to this heading">¶</a></h4> <div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- Sample employees table:</span> <span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">employees</span><span class="w"> </span><span class="p">(</span><span class="n">id</span><span class="w"> </span><span class="nb">INT</span><span class="p">,</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="nb">INT</span><span class="p">);</span> <span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">employees</span><span class="w"> </span><span class="p">(</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span> @@ -1284,17 +1308,16 @@ Instead, the rows retain their separate identities. Behind the scenes, the windo <span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span> <span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">nth_value</span> <span class="k">FROM</span><span class="w"> </span><span class="n">employees</span><span class="p">;</span> -</pre></div> -</div> -<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>+-----------+ -| nth_value | -+-----------+ -| 40000 | -| 40000 | -| 40000 | -| 40000 | -| 40000 | -+-----------+ + +<span class="o">+</span><span class="c1">-----------+</span> +<span class="o">|</span><span class="w"> </span><span class="n">nth_value</span><span class="w"> </span><span class="o">|</span> +<span class="o">+</span><span class="c1">-----------+</span> +<span class="o">|</span><span class="w"> </span><span class="mi">40000</span><span class="w"> </span><span class="o">|</span> +<span class="o">|</span><span class="w"> </span><span class="mi">40000</span><span class="w"> </span><span class="o">|</span> +<span class="o">|</span><span class="w"> </span><span class="mi">40000</span><span class="w"> </span><span class="o">|</span> +<span class="o">|</span><span class="w"> </span><span class="mi">40000</span><span class="w"> </span><span class="o">|</span> +<span class="o">|</span><span class="w"> </span><span class="mi">40000</span><span class="w"> </span><span class="o">|</span> +<span class="o">+</span><span class="c1">-----------+</span> </pre></div> </div> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@datafusion.apache.org For additional commands, e-mail: commits-h...@datafusion.apache.org