Incorporate OQL aggregates documentation. [#130418485] [#130956491]
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/21cdeffa Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/21cdeffa Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/21cdeffa Branch: refs/staging/docs-grant1 Commit: 21cdeffac9211d388f0e56f0f4cf1abef5dcfd54 Parents: ada7dcb Author: Karen Miller <[email protected]> Authored: Tue Sep 27 11:32:36 2016 -0700 Committer: Karen Miller <[email protected]> Committed: Tue Sep 27 11:32:36 2016 -0700 ---------------------------------------------------------------------- developing/query_select/aggregates.html.md.erb | 92 +++++++++++++++ .../the_select_statement.html.md.erb | 118 ------------------- ...ictions_and_unsupported_features.html.md.erb | 13 -- 3 files changed, 92 insertions(+), 131 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/21cdeffa/developing/query_select/aggregates.html.md.erb ---------------------------------------------------------------------- diff --git a/developing/query_select/aggregates.html.md.erb b/developing/query_select/aggregates.html.md.erb new file mode 100644 index 0000000..1a4e0aa --- /dev/null +++ b/developing/query_select/aggregates.html.md.erb @@ -0,0 +1,92 @@ +--- +title: OQL Aggregate Functions +--- + +The aggregate functions +```MIN```, +```MAX```, +```AVG```, +```AVG``` over a DISTINCT expression, +```SUM``` over a DISTINCT expression, +```COUNT```, and +```COUNT``` over a DISTINCT expression +are supported. +The ```GROUP BY``` extension is also supported where appropriate. + +The ```MIN``` function returns the smallest of the selected +expression. +The type of the expression must evaluate to a +```java.lang.Comparable```. + +The ```MAX``` function returns the largest of the selected +expression. +The type of the expression must evaluate to a +```java.lang.Comparable```. + +The ```AVG``` function returns the arithmetic mean of the set +formed by the selected expression. +The type of the expression must evaluate to a +```java.lang.Number```. +For partitioned regions, +each node's buckets provide both a sum and the number of elements +to the node executing the query, +such that a correct average may be computed. + +The ```AVG``` function where the DISTINCT modifier is applied +to the expression returns the arithmetic mean of the set +of unique (distinct) values. +The type of the expression must evaluate to a +```java.lang.Number```. +For partitioned regions, +the distinct values in a node's buckets are returned +to the node executing the query. +The query node can then calculate the avarage over +the values that are unique across nodes, +after eliminating duplicate values that come from separate nodes. + +The ```SUM``` function returns the sum over the set +formed by the selected expression. +The type of the expression must evaluate to a +```java.lang.Number```. +For partitioned regions, +each node's buckets compute a sum over that node, +returning that sum +to the node executing the query, +when then sums across all nodes. + +The ```SUM``` function where the DISTINCT modifier is applied +to the expression returns the sum over the set +of unique (distinct) values. +The type of the expression must evaluate to a +```java.lang.Number```. +For partitioned regions, +the distinct values in a node's buckets are returned +to the node executing the query. +The query node can then calculate the sum over +the values that are unique across nodes, +after eliminating duplicate values that come from separate nodes. + +The ```COUNT``` function returns the quantity of values in the set +formed by the selected expression. +For example, to return the quantity of employees who have a +positive sales amount: + +``` pre +SELECT count(e.sales) FROM /employees e WHERE e.sales > 0.0 +``` + +The ```COUNT``` function where the DISTINCT modifier is applied +returns the quantity of unique (distinct) values in the set +formed by the selected expression. + +## GROUP BY Extension for Aggregate Functions + +```GROUP BY``` is required +when aggregate functions are used in combination +with other selected items. +It permits ordering. +For example, + +``` pre +SELECT ID, MAX(e.sales) FROM /employees e GROUP BY ID +``` http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/21cdeffa/developing/query_select/the_select_statement.html.md.erb ---------------------------------------------------------------------- diff --git a/developing/query_select/the_select_statement.html.md.erb b/developing/query_select/the_select_statement.html.md.erb index 04f9f3b..04d14df 100644 --- a/developing/query_select/the_select_statement.html.md.erb +++ b/developing/query_select/the_select_statement.html.md.erb @@ -201,121 +201,3 @@ FROM /exampleRegion p, p.positions.values pos WHERE p.ID > 0 OR p.status = 'active' OR pos.secId OR pos.secId = 'IBM' ``` - -<div style="background-color:lightyellow;"> -<h2>(Experimental Feature) Aggregate Functions</h2> - -<p> -Some prose here about being experimental. -</p> - -<p> -The aggregate functions -<code>MIN</code>, -<code>MAX</code>, -<code>AVG</code>, -<code>AVG</code> over a DISTINCT expression, -<code>SUM</code> over a DISTINCT expression, -<code>COUNT</code>, and -<code>COUNT</code> over a DISTINCT expression -are supported. -The <code>GROUP BY</code> extension is also supported where appropriate. -</p> - -<p> -The <code>MIN</code> function returns the smallest of the selected -expression. -The type of the expression must evaluate to a -<code>java.lang.Comparable</code>. -</p> - -<p> -The <code>MAX</code> function returns the largest of the selected -expression. -The type of the expression must evaluate to a -<code>java.lang.Comparable</code>. -</p> - -<p> -The <code>AVG</code> function returns the arithmetic mean of the set -formed by the selected expression. -The type of the expression must evaluate to a -<code>java.lang.Number</code>. -For partitioned regions, -each node's buckets provide both a sum and the number of elements -to the node executing the query, -such that a correct average may be computed. -</p> - -<p> -The <code>AVG</code> function where the DISTINCT modifier is applied -to the expression returns the arithmetic mean of the set -of unique (distinct) values. -The type of the expression must evaluate to a -<code>java.lang.Number</code>. -For partitioned regions, -the distinct values in a node's buckets are returned -to the node executing the query. -The query node can then calculate the avarage over -the values that are unique across nodes, -after eliminating duplicate values that come from separate nodes. -</p> - -<p> -The <code>SUM</code> function returns the sum over the set -formed by the selected expression. -The type of the expression must evaluate to a -<code>java.lang.Number</code>. -For partitioned regions, -each node's buckets compute a sum over that node, -returning that sum -to the node executing the query, -when then sums across all nodes. -</p> - -<p> -The <code>SUM</code> function where the DISTINCT modifier is applied -to the expression returns the sum over the set -of unique (distinct) values. -The type of the expression must evaluate to a -<code>java.lang.Number</code>. -For partitioned regions, -the distinct values in a node's buckets are returned -to the node executing the query. -The query node can then calculate the sum over -the values that are unique across nodes, -after eliminating duplicate values that come from separate nodes. -</p> - -<p> -The <code>COUNT</code> function returns the quantity of values in the set -formed by the selected expression. -For example, to return the quantity of employees who have a -positive sales amount: -</p> -<pre> -SELECT count(e.sales) FROM /employees e WHERE e.sales > 0.0 -</pre> -<p> -The <code>COUNT</code> function where the DISTINCT modifier is applied -returns the quantity of unique (distinct) values in the set -formed by the selected expression. -</p> -</div> - -<div style="background-color:lightyellow;"> -<h2>(Experimental Feature) GROUP BY Extension for Aggregate Functions</h2> - -<p> -<code>GROUP BY</code> is required -when aggregate functions are used in combination -with other selected items. -It permits ordering. -For example, -</p> - -<pre> -SELECT ID, MAX(e.sales) FROM /employees e GROUP BY ID -</pre> - -</div> http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/21cdeffa/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb ---------------------------------------------------------------------- diff --git a/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb b/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb index baac020..44a5e73 100644 --- a/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb +++ b/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb @@ -16,16 +16,3 @@ At a high level, Geode does not support the following querying features: In addition, there are some specific limitations on partitioned region querying. See [Partitioned Region Query Restrictions](../query_additional/partitioned_region_query_restrictions.html#concept_5353476380D44CC1A7F586E5AE1CE7E8). -<div style="background-color:lightyellow;"> -<h2> Features Supported on an Experimental Basis</h2> - -<p> -These features are supported, -but their experimental implementation may change: -</p> - -<ul> -<li> GROUP BY -<li> The aggregate functions AVG, MIN, MAX, COUNT, SUM -</ul> -</div>
