4

変数 @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 のすべての値が与えられます。これを実現するために句によってパーティションを構成する方法がわかりません。

4

1 に答える 1