mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-17 10:25:15 +00:00
SQL: [Docs] Add example for custom bucketing with CASE (#41787)
Add a TIP on how to use CASE to achieve custom bucketing with GROUP BY. Follows: #41349 (cherry picked from commit eb5f5d45533c5f81e57dd0221d902a73ec400098)
This commit is contained in:
parent
2306531815
commit
228d23de6d
@ -98,6 +98,30 @@ an error message would be returned, mentioning that *'foo'* is of data type *key
|
||||
which does not match the expected data type *integer* (based on result *10*).
|
||||
===============================
|
||||
|
||||
[[sql-functions-conditional-case-groupby-custom-buckets]]
|
||||
===== Conditional bucketing
|
||||
|
||||
CASE can be used as a GROUP BY key in a query to facilitate custom bucketing
|
||||
and assign descriptive names to those buckets. If, for example, the values
|
||||
for a key are too many or, simply, ranges of those values are more
|
||||
interesting than every single value, CASE can create custom buckets as in the
|
||||
following example:
|
||||
|
||||
[source, sql]
|
||||
SELECT count(*) AS count,
|
||||
CASE WHEN NVL(languages, 0) = 0 THEN 'zero'
|
||||
WHEN languages = 1 THEN 'one'
|
||||
WHEN languages = 2 THEN 'bilingual'
|
||||
WHEN languages = 3 THEN 'trilingual'
|
||||
ELSE 'multilingual'
|
||||
END as lang_skills
|
||||
FROM employees
|
||||
GROUP BY lang_skills
|
||||
ORDER BY lang_skills;
|
||||
|
||||
With this query, one can create normal grouping buckets for values _0, 1, 2, 3_ with
|
||||
descriptive names, and every value _>= 4_ falls into the _multilingual_ bucket.
|
||||
|
||||
[[sql-functions-conditional-coalesce]]
|
||||
==== `COALESCE`
|
||||
|
||||
|
@ -204,6 +204,10 @@ Multiple aggregates used:
|
||||
include-tagged::{sql-specs}/docs/docs.csv-spec[groupByAndMultipleAggs]
|
||||
----
|
||||
|
||||
[TIP]
|
||||
If custom bucketing is required, it can be achieved with the use of `<<sql-functions-conditional-case, CASE>>`,
|
||||
as shown <<sql-functions-conditional-case-groupby-custom-buckets, here>>.
|
||||
|
||||
[[sql-syntax-group-by-implicit]]
|
||||
===== Implicit Grouping
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user