[ 
https://issues.apache.org/jira/browse/SPARK-27980?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuming Wang updated SPARK-27980:
--------------------------------
    Description: 
||Function||Direct Argument Type(s)||Aggregated Argument Type(s)||Return 
Type||Partial Mode||Description||
|{{mode() WITHIN GROUP (ORDER BY_{{sort_expression}}_)}}| |any sortable 
type|same as sort expression|No|returns the most frequent input value 
(arbitrarily choosing the first one if there are multiple equally-frequent 
results)|
|{{percentile_cont(_{{fraction}}_) WITHIN GROUP (ORDER 
BY_{{sort_expression}}_)}}|{{double precision}}|{{double precision}} or 
{{interval}}|same as sort expression|No|continuous percentile: returns a value 
corresponding to the specified fraction in the ordering, interpolating between 
adjacent input items if needed|
|{{percentile_cont(_{{fractions}}_) WITHIN GROUP (ORDER 
BY_{{sort_expression}}_)}}|{{double precision[]}}|{{double precision}} or 
{{interval}}|array of sort expression's type|No|multiple continuous percentile: 
returns an array of results matching the shape of the _{{fractions}}_ 
parameter, with each non-null element replaced by the value corresponding to 
that percentile|
|{{percentile_disc(_{{fraction}}_) WITHIN GROUP (ORDER 
BY_{{sort_expression}}_)}}|{{double precision}}|any sortable type|same as sort 
expression|No|discrete percentile: returns the first input value whose position 
in the ordering equals or exceeds the specified fraction|
|{{percentile_disc(_{{fractions}}_) WITHIN GROUP (ORDER 
BY_{{sort_expression}}_)}}|{{double precision[]}}|any sortable type|array of 
sort expression's type|No|multiple discrete percentile: returns an array of 
results matching the shape of the _{{fractions}}_ parameter, with each non-null 
element replaced by the input value corresponding to that percentile|


https://www.postgresql.org/docs/11/functions-aggregate.html#FUNCTIONS-ORDEREDSET-TABLE

  was:
||Function||Direct Argument Type(s)||Aggregated Argument Type(s)||Return 
Type||Partial Mode||Description||
|{{percentile_cont(_{{fraction}}_) WITHIN GROUP (ORDER BY 
_{{sort_expression}}_)}}|{{double precision}}|{{double precision}} or 
{{interval}}|same as sort expression|No|continuous percentile: returns a value 
corresponding to the specified fraction in the ordering, interpolating between 
adjacent input items if needed|
|{{percentile_cont(_{{fractions}}_) WITHIN GROUP (ORDER 
BY_{{sort_expression}}_)}}|{{double precision[]}}|{{double precision}} or 
{{interval}}|array of sort expression's type|No|multiple continuous percentile: 
returns an array of results matching the shape of the _{{fractions}}_ 
parameter, with each non-null element replaced by the value corresponding to 
that percentile|

Currently, the following DBMSs support the syntax:
https://www.postgresql.org/docs/current/functions-aggregate.html
https://docs.aws.amazon.com/redshift/latest/dg/r_PERCENTILE_CONT.html
https://docs.teradata.com/reader/756LNiPSFdY~4JcCCcR5Cw/RgAqeSpr93jpuGAvDTud3w
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/SQLReferenceManual/Functions/Analytic/PERCENTILE_CONTAnalytic.htm?tocpath=SQL%20Reference%20Manual%7CSQL%20Functions%7CAnalytic%20Functions%7C_____25



> Ordered-Set Aggregate Functions
> -------------------------------
>
>                 Key: SPARK-27980
>                 URL: https://issues.apache.org/jira/browse/SPARK-27980
>             Project: Spark
>          Issue Type: Sub-task
>          Components: SQL
>    Affects Versions: 3.0.0
>            Reporter: Yuming Wang
>            Priority: Major
>
> ||Function||Direct Argument Type(s)||Aggregated Argument Type(s)||Return 
> Type||Partial Mode||Description||
> |{{mode() WITHIN GROUP (ORDER BY_{{sort_expression}}_)}}| |any sortable 
> type|same as sort expression|No|returns the most frequent input value 
> (arbitrarily choosing the first one if there are multiple equally-frequent 
> results)|
> |{{percentile_cont(_{{fraction}}_) WITHIN GROUP (ORDER 
> BY_{{sort_expression}}_)}}|{{double precision}}|{{double precision}} or 
> {{interval}}|same as sort expression|No|continuous percentile: returns a 
> value corresponding to the specified fraction in the ordering, interpolating 
> between adjacent input items if needed|
> |{{percentile_cont(_{{fractions}}_) WITHIN GROUP (ORDER 
> BY_{{sort_expression}}_)}}|{{double precision[]}}|{{double precision}} or 
> {{interval}}|array of sort expression's type|No|multiple continuous 
> percentile: returns an array of results matching the shape of the 
> _{{fractions}}_ parameter, with each non-null element replaced by the value 
> corresponding to that percentile|
> |{{percentile_disc(_{{fraction}}_) WITHIN GROUP (ORDER 
> BY_{{sort_expression}}_)}}|{{double precision}}|any sortable type|same as 
> sort expression|No|discrete percentile: returns the first input value whose 
> position in the ordering equals or exceeds the specified fraction|
> |{{percentile_disc(_{{fractions}}_) WITHIN GROUP (ORDER 
> BY_{{sort_expression}}_)}}|{{double precision[]}}|any sortable type|array of 
> sort expression's type|No|multiple discrete percentile: returns an array of 
> results matching the shape of the _{{fractions}}_ parameter, with each 
> non-null element replaced by the input value corresponding to that percentile|
> https://www.postgresql.org/docs/11/functions-aggregate.html#FUNCTIONS-ORDEREDSET-TABLE



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to