変数 @segment に基づいてパーティションの番号を示す計算列 (MyPartition) を取得しようとしている SQL サーバー テーブルがあります。たとえば、@segment = 3 の場合、次の出力は true になります。
RowID | RowName | MyPartition
------ | -----------| -------
1 | My Prod 1 | 1
2 | My Prod 2 | 1
3 | My Prod 3 | 1
4 | My Prod 4 | 2
5 | My Prod 5 | 2
6 | My Prod 6 | 2
7 | My Prod 7 | 3
8 | My Prod 8 | 3
9 | My Prod 9 | 3
10 | My Prod 10 | 4
これまでのところ、次のようなものがあります。
SELECT
RowId,
RowName,
ROW_NUMBER() OVER(PARTITION BY RowId ORDER BY RowId ASC) AS MyPartition
FROM MyTable
ORDER BY RowId
しかし、ご想像のとおり、パーティションは行 ID で分割され、mypartition = 1 のすべての値が与えられます。これを実現するために句によってパーティションを構成する方法がわかりません。