James Taylor created PHOENIX-3773:
-------------------------------------

             Summary: Implement FIRST_VALUES aggregate function
                 Key: PHOENIX-3773
                 URL: https://issues.apache.org/jira/browse/PHOENIX-3773
             Project: Phoenix
          Issue Type: Bug
            Reporter: James Taylor


Similar to FIRST_VALUE, but would allow the user to specify how many values to 
keep. This could use a MinMaxPriorityQueue under the covers and be much more 
efficient than using multiple NTH_VALUE calls to do the same like this:
{code}
SELECT entity_id,
       NTH_VALUE(user_id,1) WITHIN GROUP (ORDER BY last_read_date DESC) as 
nth1_user_id,
       NTH_VALUE(user_id,2) WITHIN GROUP (ORDER BY last_read_date DESC) as 
nth2_user_id,
       NTH_VALUE(user_id,3) WITHIN GROUP (ORDER BY last_read_date DESC) as 
nth3_user_id,
       count(*)
FROM  MY_TABLE 
WHERE tenant_id='00Dx0000000XXXX'
AND entity_id in ('0D5x000000ABCD','0D5x000000ABCE')
GROUP BY entity_id;
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to