Year. Salary 2014-2016 18300 2017-2019 21900
3 Réponses :
Par exemple, vous pouvez créer quelques variables qui vous aideront à créer des groupes dans le tableau I.E. 2014-2015, etc. Réglage @rowstogroup code> Vous pouvez regrouper autant de lignes que vous le souhaitez. @Remainder CODE> aide à trouver les groupes suivants dans année code>. Dans le cte code> i utilisé somme sous forme de fonction de fenêtre code> plus caisse code> pour créer une colonne sur groupe par code>. years salary
2014-2016 18300
2017-2019 21900
Je suis confondre à quel point le reste est utile. S'il vous plaît ajouter la sortie de Select * de l'année de l'année si ce n'est pas trop de problème? Par exemple, si vous collectez des années à leur reste, vous ne finissez-vous pas de regrouper toutes les années impaires ensemble?
Ce reste est crucial ici "cas lorsque l'année% Rowstogroup = reste puis 1 autre 0 extrémité". Il aide à trouver des frontières entre les groupes. Lorsqu'il trouve le même reste, il ajoute +1, un nouveau groupe est donc créé.
Toujours confus, mais peut-être que la cause première est la réponse aux deux questions: a) Comment vous pouvez résumer sans groupe en avec la déclaration et b) dans la requête finale Comment "regrouper" les années consécutives consécutives au cours de laquelle des années consécutives doivent avoir un reste différent?
Option 1 Strong> Division d'utilisation de votre nombre d'années et de rond-point pour concevoir des appels de fonction imbriqués qui renvoient le groupe d'exercice souhaité. Cela pourrait devenir désordonné mais il est possible Year | GroupOne | GroupTwo | GroupThree
-----+-----------+----------+-----------
2019 | 2019.1 | 2018.2 | 2019.3
2018 | 2018.1 | 2018.2 | 2016.3
2017 | 2017.1 | 2016.2 | 2016.3
2016 | 2016.1 | 2016.2 | 2016.3
2015 | 2015.1 | 2014.2 | 2015.3
...
Vous pouvez le faire à l'aide de fonctions de fenêtre et d'agrégation. En supposant que vous voulez n em> ans dans chaque groupe:
Brillant. On peut référer: Solution