Analytical function doesn't expect any argument. Rank() itself enough to sequence based on the window you have defined in partition by. So
Rank() over (partition by cmscustid order by orderdate) Should work as long as I have wrote right syntax for hive. Sent via Rocket from my HTC ----- Reply message ----- From: "j.barrett Strausser" <j.barrett.straus...@gmail.com> To: <user@hive.apache.org> Subject: Semantics of Rank. Date: Thu, Jul 25, 2013 1:08 AM Thanks for the reply. Perhaps my misunderstanding of the relation between rank and the windowing function is wrong. What I want to achieve for the following is : For a given customer id, sort his orders. I thought the below would work. SELECT eh.cmsorderid, eh.orderdate, RANK(orderdate) w FROM order_data eh window w as (partition by cmscustid order by orderdate); The rank function instead returns the rank of the order date over all all order dates. Example snippet from above Actual : 6758783 27APR2012 94 6758783 23JUN2012 95 6758785 14DEC2012 96 6758795 18DEC2011 97 6758796 06MAY2012 98 6758798 24MAR2013 99 6758799 23NOV2012 100 Expected : 6758783 27APR2012 1 6758783 23JUN2012 2 6758785 14DEC2012 1 6758795 18DEC2011 1 6758796 06MAY2012 1 6758798 24MAR2013 1 6758799 23NOV2012 1 -b On Wed, Jul 24, 2013 at 3:17 PM, Shahar Glixman <sglix...@outbrain.com>wrote: > the argument to rank is simply some value, whereas the rank function > compare this value > to the previous value received, if value is same, rank returns ++index, > otherwise, rank return 1. > pseudo code: > > class Rank { > int index; > Object previousValue = null; > int evaluate(Object value) { > if (value == previousValue) { > return ++index; > } > previousValue = value; > index = 1; > return 1; > } > > > On Wed, Jul 24, 2013 at 9:59 PM, j.barrett Strausser < > j.barrett.straus...@gmail.com> wrote: > >> It seems as though I am required to pass in an argument to RANK(). >> >> What is the effect of passing this argument in ? >> >> In a RANK function the output for RANK should be the number of rows >> preceding >> a row in a given window. As windows are specified by the partition and >> order by fields I don't understand the effect of passing in an arg to RANK >> >> Are the other non-aggregate function similar? Meaning : Cume_dist, Ntile >> -- >> >> >> https://github.com/bearrito >> @deepbearrito >> > > > The above terms reflect a potential business arrangement, are provided solely > as a basis for further discussion, and are not intended to be and do not > constitute a legally binding obligation. No legally binding obligations will > be created, implied, or inferred until an agreement in final form is executed > in writing by all parties involved. > > This email and any attachments hereto may be confidential or privileged. > If you received this communication by mistake, please don't forward it > to anyone else, please erase all copies and attachments, and please let > me know that it has gone to the wrong person. Thanks. > -- https://github.com/bearrito @deepbearrito