forked from elastic/elasticsearch
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
SQL: Introduce HISTOGRAM grouping function
Introduce Histogram grouping function for bucketing/grouping data based on a given range. Both date and numeric histograms are supported using the appropriate range declaration (numbers vs intervals). SELECT HISTOGRAM(number, 50) AS h FROM index GROUP BY h SELECT HISTOGRAM(date, INTERVAL 1 YEAR) AS h FROM index GROUP BY h In addition add multiply operator for Intervals Add docs for intervals and histogram Fix elastic#36509
- Loading branch information
Showing
56 changed files
with
1,323 additions
and
407 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
[role="xpack"] | ||
[testenv="basic"] | ||
[[sql-functions-grouping]] | ||
=== Grouping Functions | ||
|
||
Functions for creating special __grouping__s (also known as _bucketing_) and need to be used | ||
as part of the <<sql-syntax-group-by,grouping>>. | ||
|
||
[[sql-functions-grouping-histogram]] | ||
==== `HISTOGRAM` | ||
|
||
.Synopsis | ||
[source, sql] | ||
---- | ||
HISTOGRAM ( numeric_exp<1>, numeric_interval<2>) | ||
HISTOGRAM ( date_exp<3>, date_time_interval<4>) | ||
---- | ||
|
||
*Input*: | ||
|
||
<1> numeric expression (typically a field) | ||
<2> numeric interval | ||
<1> date/time expression (typically a field) | ||
<4> date/time <<sql-functions-datetime-interval, interval>> | ||
... | ||
|
||
*Output*: non-empty buckets or groups of the given expression divided according to the given interval | ||
|
||
.Description | ||
|
||
The histogram function takes all matching values and divides them into buckets with fixed size matching the given interval, using (roughly) the following formula: | ||
|
||
[source, sql] | ||
---- | ||
bucket_key = Math.floor(value / interval) * interval | ||
---- | ||
|
||
`Histogram` can be applied on either numeric fields: | ||
|
||
|
||
["source","sql",subs="attributes,callouts,macros"] | ||
---- | ||
include-tagged::{sql-specs}/docs.csv-spec[histogramNumeric] | ||
---- | ||
|
||
and date/time fields: | ||
|
||
["source","sql",subs="attributes,callouts,macros"] | ||
---- | ||
include-tagged::{sql-specs}/docs.csv-spec[histogramDate] | ||
---- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.