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

Benjamin Lerer updated CASSANDRA-4914:
--------------------------------------

    Attachment: CASSANDRA-4914.txt

This patch has been built on top of 
https://github.com/pcmanus/cassandra/commits/7809

It adds two new sub-interfaces to the Function interface: ScalarFunction and 
AggregateFunction. 
ScalarFunction is what was previously Function. 
AggregationFunction provides a newAggregation() method that can be use to 
create Aggregations.

The intefaces of Selection and Selector have been modified to be able to 
support the fact that aggregation are built in multisteps.

For the moment the only provided aggregations are MAX, MIN, SUM and AVG but new 
aggregation can easily be added.

> Aggregation functions in CQL
> ----------------------------
>
>                 Key: CASSANDRA-4914
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4914
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Vijay
>            Assignee: Benjamin Lerer
>              Labels: cql
>             Fix For: 3.0
>
>         Attachments: CASSANDRA-4914.txt
>
>
> The requirement is to do aggregation of data in Cassandra (Wide row of column 
> values of int, double, float etc).
> With some basic agree gate functions like AVG, SUM, Mean, Min, Max, etc (for 
> the columns within a row).
> Example:
> SELECT * FROM emp WHERE empID IN (130) ORDER BY deptID DESC;                  
>                   
>  empid | deptid | first_name | last_name | salary
> -------+--------+------------+-----------+--------
>    130 |      3 |     joe    |     doe   |   10.1
>    130 |      2 |     joe    |     doe   |    100
>    130 |      1 |     joe    |     doe   |  1e+03
>  
> SELECT sum(salary), empid FROM emp WHERE empID IN (130);                      
>               
>  sum(salary) | empid
> -------------+--------
>    1110.1    |  130



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to