maropu commented on a change in pull request #28220: [SPARK-31390][SQL][DOCS]
Document Window Function in SQL Syntax Section
URL: https://github.com/apache/spark/pull/28220#discussion_r409381654
##########
File path: docs/sql-ref-syntax-qry-window.md
##########
@@ -19,4 +19,192 @@ license: |
limitations under the License.
---
-**This page is under construction**
+### Description
+
+Window functions operate on a group of rows, referred to as a window, and
calculate a return value for each row based on the group of rows. Window
functions are useful for processing tasks such as calculating a moving average,
computing a cumulative statistic, or accessing the value of rows given the
relative position of the current row.
+Spark SQL supports three types of window functions:
+
+ * Ranking Functions
+ * Analytic Functions
+ * Aggregate Functions
+
+### Syntax
+
+{% highlight sql %}
+window_function OVER
+( [ { PARTITION | DISTRIBUTE } BY partition_col_name = partition_col_val ( [
, ... ] ) ]
+ { ORDER | SORT } BY expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [ ,
... ]
+ [ window_frame ] )
+{% endhighlight %}
+
+### Parameters
+
+<dl>
+ <dt><code><em>window_function</em></code></dt>
+ <dd>
+ <ul>
+ <li>Ranking Functions</li>
+ <br>
+ <b>Syntax:</b>
+ <code>
+ RANK | DENSE_RANK | PERCENT_RANK | NTILE | ROW_NUMBER
+ </code>
+ </ul>
+ <ul>
+ <li>Analytic Functions</li>
+ <br>
+ <b>Syntax:</b>
+ <code>
+ CUME_DIST | LAG | LEAD
+ </code>
+ </ul>
+ <ul>
+ <li>Aggregate Functions</li>
+ <br>
+ <b>Syntax:</b>
+ <code>
+ MAX | MIN | COUNT | SUM | AVG | ...
+ </code>
+ <br>
+ Please refer to the <a href="api/sql/">Built-in Functions</a> document
for a complete list of Spark aggregate functions.
+ </ul>
+ </dd>
+</dl>
+<dl>
+ <dt><code><em>window_frame</em></code></dt>
+ <dd>
+ Specifies which row to start the window on and where to end it.<br><br>
+ <b>Syntax:</b><br>
+ <code>
+ { RANGE | ROWS } [ BETWEEN ]
+ UNBOUNDED { PRECEDING | FOLLOWING }
+ | CURRENT ROW
+ | boolean_expression { PRECEDING | FOLLOWING }
+ </code> <br><br>
Review comment:
I think we need to describe what these clauses (RANGE, ROWS, BETWEEN, ...)
are.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]