0

レコードのサブセットにランクを割り当てる必要があります。サンプルデータ:

Colour Code        Size Code
DWMUL040             7
DWMUL040             8
DWMUL040             9
DWMUL040             10
DWMUL040             7
DWMUL040             8
DWMUL040             9
DWMUL040             10
DWMUL040             7
DWMUL040             8
DWMUL040             9
DWMUL040             10
DWMUL040             7
DWMUL040             8
DWMUL040             9
DWMUL040             10

次のようなデータが必要です。

Group ID            Colour Code        Size Code
1                   DWMUL040             7
1                   DWMUL040             8
1                   DWMUL040             9
1                   DWMUL040             10
2                   DWMUL040             7
2                   DWMUL040             8
2                   DWMUL040             9
2                   DWMUL040             10
3                   DWMUL040             7
3                   DWMUL040             8
3                   DWMUL040             9
3                   DWMUL040             10
4                   DWMUL040             7
4                   DWMUL040             8
4                   DWMUL040             9
4                   DWMUL040             10

リストは順番に並べられ、基本的にサイズコードが変わるたびに新しいグループになります。サイズコード(これらは衣服のサイズです)は「XLなど」であれば何でもかまいませんので、これは難しいと思います。

4

1 に答える 1

0
  select [colour code], [size code],
         row_number() over (partition by [colour code], [size code]
                            order by 1/0) [group id]
    from tbl
order by [group id], [colour code], [size code];
于 2012-12-21T00:59:46.693 に答える