2017-10-04 6 views
0

Ich habe eine Abfrage, die alle Werte aus der Spalte "Summe" summiert und sie auf ihre eindeutige Kombination von Filename, Jahr, Marke und Modell ausgerichtet (über eine Gruppe von):SQL Count Anzahl der Vorkommen für eine mehrzeilige eindeutige, mehrzeilige

select storename, year, make, model, sum(total) as [Sum] 
    from #TempTable 
    group by storename, year, make, model 

ein Beispiel für die Ergebnisse:

StoreA 2009 TOYO AVALON 1039.95 
    StoreB 2005 CHET TAHOE 1039.99 
    StoreC 2010 MAZD CX-9 1040.07 
    StoreD 2007 DODG CHARGER 1040.09 
    StoreE 2003 ACUT MDX  1040.17 

Was ich tun möchte, ist eine weitere Spalte dieser Abfrage hinzufügen, die zählt, wie viele Zeilen in jeder Gruppe vorhanden sind. Zum Beispiel weiß ich, dass es 5 Instanzen eines TOYO AVALON 2009 bei StoreA gibt, aber ich möchte, dass das Skript herausfindet, wie viele es für jede eindeutige Kombination von Filename, Jahr, Marke, Modell gibt. Und ich möchte, dass es als zusätzliche Spalte [CarCount] rechts neben [Summe] angezeigt wird.

Es muss einen Weg geben, aber ich konnte keine Lösung finden. Danke für Ihre Hilfe!

Antwort

0

Add count (*) auf die Abfrage wird die Anzahl der Instanzen in dieser Gruppe

select storename, year, make, model, sum(total) as [Sum], count(*) carcount 
    from #TempTable 
    group by storename, year, make, model 
+1

Valli, danke für Ihre Antwort. Genau das habe ich gebraucht. –

0

Sofern ich nicht missverstanden habe, benötigen Sie die Zählung für die bestehende Gruppierung. Verwenden Sie einfach COUNT, um es zu bekommen.

select storename, year, make, model, sum(total) as [Sum], COUNT(1) as CarCount 
    from #TempTable 
    group by storename, year, make, model 
+0

AB_87, danke für deine Antwort rechnen! Es ist dem von Valli oben vorgeschlagenen sehr ähnlich. Ich habe beide Abfragen ausgeführt und sie produzieren die gleichen Ergebnisse, also frage ich mich, was der Unterschied zwischen count (*) und count (1) wäre? –

+0

@JordanMcDonald Es gab keine Antwort, als ich meine einreichte. Wir haben beide fast gleichzeitig eingereicht. Es passiert. Es gibt viele Fragen um 'COUNT (1)' und 'COUNT (*)'. Unten ist der Link zu einer der beliebtesten Fragen. https://stackoverflow.com/questions/1221559/count-vs-count1 –