SQL Kumulierte Anzahl
Ich habe Tabelle mit Abteilungen. Ich muss zählen, wie viele Menschen sind in die Abt. Dies geschieht einfach durch
SELECT DEPT,
COUNT(*) as 'Total'
FROM SR
GROUP BY DEPT;
Nun muss ich das auch tun kumulierte Anzahl wie folgt:
Ich habe einige SQL zählen laufende Summe, aber nicht groß wie dieses. Könnten Sie mir einige beraten in diesem Fall, bitte?
- können Sie fügen Sie schema Sie die Tabelle hast du einen primary key ??
- Ich denke, dieser thread wurde nicht angeboten, um Sie, wie Sie eingegeben deine Frage. stackoverflow.com/questions/860966/... By the way, mein google Suchbegriff war "sql server laufende Summen".
- es gibt keine PK noch Zeile zahlen, wie die Daten sind historisiert über SCD.
- Und wenn Sie nicht wissen, den Begriff "laufende Summe", könnte man sehr gut suchen nach "sql server kumulative Zählung", das würde Ihnen sehr viele Vorschläge, wie gut.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein Weg, es zu tun mit einem CTE-statt eines Cursors:
Beachten Sie, dass diese Bestellung in absteigender
Count
wie Ihre Beispiel-Ergebnis hat. Wenn es eine andere Spalte, die nicht angezeigt werden sollten, zur Bestellung ersetzen Sie einfachCount
in jedem derORDER BY
Klauseln.SQL Fiddle Demo
Ich denke, Sie können einige vorübergehende /Variablen-Tabelle für diese, und verwenden Sie die Lösung aus hier:
sql fiddle demo
Dort sind einige andere Lösungen, aber diese ist am schnellsten für SQL Server 2008, denke ich.