On Wednesday, June 14, 2017, Ken Tanzer <ken.tan...@gmail.com> wrote: > > SELECT a,b,c,row_number() > OVER (PARTITION BY a) -- Do I need an ORDER BY c,b here? >
Yes. > FROM foo > ORDER BY c,b > Also, I'm interested in both what if any behavior is guaranteed, and what > gets done in practice. (i.e., a SELECT with no order doesn't have > guarantees, but in practice seems to return the results in the order they > were added to the table. Is it something similar here?) > Row numbers would be assigned in the order they are sent up by the "from foo" clause. In practice what gets done depends on the execution plan that is chosen and nothing is guaranteed unless you specify it in the query so that the execution plan can enforce it. David J.