以下のようなものを達成するためのクエリを作成します。
テーブル名: アプリケーション
AppId (PK,int) AppType (bit)
1 0
2 0
3 0
4 0
5 1
6 0
7 0
8 0
9 1
10 1
11 0
12 0
13 1
14 0
15 1
App_type に基づいて App_Id を順番にグループ化し、レコードのバッチを作成する必要があります。注意すべき重要な点は、バッチの作成中に AppId の SEQUENCE を維持する必要があることです。バッチが持つことができるレコードの最大数は、バッチ サイズ パラメーターによって異なります (ここでは、バッチ サイズを 3 に設定します)。バッチが作成されたら、ApplicationBatch という名前の別のテーブルに詳細を挿入します。だから私は次のような出力が欲しい:
テーブル名: ApplicationBatch
BatchId MinAppId MaxAppId AppType
001 1 3 0
002 4 4 0
003 5 5 1
004 6 8 0
005 9 10 1
006 11 12 0
007 13 13 1
008 14 14 0
009 15 15 1
もう 1 つ、アプリケーション テーブルには 100 万件を超えるレコードが含まれる可能性があるため、クエリを最も効率的かつ最適化された方法で設計する必要があります。
アップデート:
現在、アプリケーション テーブル (上記の元の質問で定義) があり、アプリケーション テーブルのデータに基づいて ApplicationBatch テーブルにデータを入力したいと考えています。