You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2017/04/07 22:58:42 UTC

[jira] [Created] (PHOENIX-3773) Implement FIRST_VALUES aggregate function

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)