Je vais écrire une requête pour obtenir quelque chose comme ci-dessous:Group Notices similaires Sql Server 2008
TableName: Application
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
Je dois séquentiellement groupe app_id basé sur APP_TYPE et créer un lot d'enregistrements . Le point important à noter est que je dois maintenir la SEQUENCE de AppId lors de la création des lots. Le nombre maximal d'enregistrements qu'un lot peut avoir dépend du paramètre de taille de lot (disons que la taille de lot est définie sur 3 pour l'instant). Une fois le lot créé, insérez les détails dans une autre table nommée ApplicationBatch. Donc, je veux une chose de sortie comme:
TableName: 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
une chose que je dois concevoir la requête d'une manière plus efficace et optimisé car la table d'application peut avoir plus de millions de disques en elle.
Mise à jour:
Actuellement, j'ai table Application (définie dans ma première question ci-dessus) et je veux remplir ApplicationBatch tableau à partir des données de la table d'application.