ユーザー定義の数(たとえば、5、12行としましょう)で定義された、複数の「チャンク」にグループ化されたselectステートメントを実行しようとしています
私が達成したいのは、定義されたチャンク サイズの増分グループ値を定義する列を追加する select ステートメントです。したがって、12 行の場合、行 1 ~ 5 はチャンク 1 に等しく、行 6 ~ 10 はチャンク 2 に等しくなります。行 11 ~ 12 はチャンク 3 に相当します。
私はこの解決策をいくつかの機会に検索してみましたが、ほとんど成功しませんでした。基本的な ROW_NUMBER() OVER (ORDER BY id) を変更して、5 行ごとにカウントをリセットし、グループを増やす方法があると思いました。 /かたまり。
この結果を達成する方法は他にもあると思いますが、最も簡単で最もクリーンな最速のソリューションを探しています。これを、バッチ送信のための最良のシナリオのグループ化を行う必要がある関数に適用することを考えます。
希望する出力の例。
| Row no. | Item Id. | Chunk No. |
|--------:|:--------:|:---------:|
| 1 | 1001 | 1 |
| 2 | 1002 | 1 |
| 3 | 1003 | 1 |
| 4 | 1004 | 1 |
| 5 | 1005 | 1 |
| 6 | 1006 | 2 |
| 7 | 1007 | 2 |
| 8 | 1008 | 2 |
| 9 | 1009 | 2 |
| 10 | 1010 | 2 |
| 11 | 1011 | 3 |
| 11 | 1012 | 3 |