注文日で注文してみてください。結果がわかりやすくなります
select Row_Number() over(partition by orderdate order by orderdate asc)
as Rownumber, salesorderid, orderdate
from test2
order by orderdate;
与える必要があります(わかりやすくするために空白行を追加しました)
ROWNUMBER SALESORDERID ORDERDATE
1 43664 07/01/2001
1 43911 08/01/2001
2 43867 08/01/2001
3 43895 08/01/2001
4 43894 08/01/2001
5 43877 08/01/2001
1 44109 09/01/2001
1 44285 10/01/2001
1 44483 11/01/2001
2 44501 11/01/2001
結果が「パーティション」に分割され、各パーティションが同じ注文日を持つ行のセットであることがわかります。それが「orderdateによるパーティション」の意味です。
パーティション内では、行は'(orderdate ascによるorderdateによるパーティション)'の2番目の節に従ってorderdateによって順序付けられます。パーティション内のすべての行が同じorderdateを持つため、これはあまり役に立ちません。そのため、パーティション内の行の順序はランダムです。より再現性の高い結果を得るには、partitionby句内でsalesorderidで注文してみてください。
row_number()は、各パーティション内の行の順序を返すだけです