Je veux summer la colonne de quantité de la première date dans le tableau (2016-02-17 dans ce tableau) jusqu'à chaque date distincte de la table. La relation de résultat devrait contenir une somme de quantités par chaque date distincte dans le tableau.
Comment puis-je écrire une requête pour cela dans SQL Server?
3 Réponses :
SELECT Id, Date,
SUM(quantity) OVER(PARTITION BY ID ORDER BY Date) quantity
FROM(
SELECT Id, DATE, SUM(quantity) quantity
FROM A
GROUP BY Id, DATE
)A
Cela me donne juste une somme de quantité pour chaque date distincte. Je veux une somme de quantité pour toute rangée qui a une date inférieure à chaque date distincte.
@eyvaz, pouvez-vous publier votre production attendue dans la question?
2016-02-17 = 6 + 6 + 4 | 2016-02-18 = 6 + 6 + 4 + 5 + 1 + 3 | 2016-02-19 = 6 + 6 + 4 + 5 + 1 + 3 + 6 + 7 + 8 + 9
Ça marche. Mais j'ai une autre question. Et si je veux regrouper le résultat par colonne ID. Je veux dire que je veux ce résultat séparément pour chaque valeur de la colonne ID.
Laissez-nous Continuer cette discussion en chat .
Une autre approche est
Vous n'avez pas besoin de sous-requête ou de CTE pour utiliser les fonctions de fenêtre avec agrégation: Si vous souhaitez que les résultats commandés par date (comme indiqué par votre ensemble de résultats), vous devez inclure un Explicit commander par code>. p> p>
Quelle est votre production attendue?
2016-02-17 = 6 + 6 + 4 | 2016-02-18 = 6 + 6 + 4 + 5 + 1 + 3 | 2016-02-19 = 6 + 6 + 4 + 5 + 1 + 3 + 6 + 7 + 8 + 9
@eyvaz, avez-vous vérifié ma réponse mise à jour?