2017-01-14 1 views
0

Ich habe eine Tabelle Accessoires_OrderDetails mit der folgenden Struktur genannt:SQL Server: gängigste Wert

ID int IDENTITY(1,1) 
accessoireID int, 
QteSelled int, 
Price Varchar(50) 

ich diese Abfrage bin mit dem meistverkauften Artikel in der Tabelle anzuzeigen:

SELECT TOP 12 
    AccessoireID, COUNT(AccessoireID) AS Amount 
FROM 
    Accessoires_OrderDetails 
GROUP BY 
    AccessoireID 
ORDER BY 
    Amount DESC 

Aber Ich weiß nicht, wie man die Qte verkauft verkauft.

Der Ausgang dieser Abfrage ist:

1 3 
4 2 
2 1 

Ich möchte die zeigen, dass Artikel-ID = 1 3-mal verkauft wurde.

Beispiel:

AccessoireID = 1, Sold = 3 times, first time (Qte = 2), second time (Qte = 3), third time (Qte = 5) 

Der Ausgang

1 3 10 
4 2 
2 1 

So 10 Qte ist die Anzahl der für alle Verkäufe verkauft werden sollte.

+0

Können Sie einige Beispieldaten und erwartete Ausgabe hinzufügen? Markieren Sie auch das verwendete DBMS. – GurV

+0

@GurV Ich habe meine Frage bearbeitet – Huster

+1

Was [Tag: Rdbms] verwenden Sie? – Mureinik

Antwort

1

einfache Summe tun:

select TOP 12 
    AccessoireID, 
    count(AccessoireID) as Amount, 
    SUM(QTE) as total_qte   -- Added this 
from Accessoires_OrderDetails 
GROUP BY AccessoireID 
ORDER BY Amount 
DESC