The syntax of the windowing functions is:
aggregate function (value expression | *)
over ([partition byvalue expression{,value expression}]
order by value expression [collate clause]
[asc | desc] [nulls first | nulls last]
{,value expression [collate clause]
[asc | desc] [nulls first | nulls last}
[rows | range]
[[unbounded preceding | value expression preceding] |
between [unbounded preceding | value expression preceding]
andhcurrent row | value expression following