0
votes

Colonnes de quantité agrégées par date distincte dans le tableau SQL

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? xxx

Sortie attendue: xxx


3 commentaires

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?


3 Réponses :


4
votes

agrégate forte> fonction somme forte> avec groupe par strong> vous donnera les valeurs de somme pour les dates code> distinctes "

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


5 commentaires

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 .



0
votes

Une autre approche est xxx


0 commentaires

2
votes

Vous n'avez pas besoin de sous-requête ou de CTE pour utiliser les fonctions de fenêtre avec agrégation: xxx

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 .


0 commentaires