2012-07-30 11 views
5

Ich habe die folgenden Spalten in einer Tabelle:Wie füge ich Werte desselben Artikels in einer Spalte hinzu?

  1. Produktname
  2. Menge
  3. Beschreibung

Ich möchte die Mengen des Produkts hinzuzufügen, wenn der Name des Produkts gleich ist . Wenn ich beispielsweise ein Produkt mit dem gleichen Namen zweimal verwende, möchte ich die Gesamtmenge der Produkte hinzufügen und ein Ergebnis erhalten.

Das ist der Tisch, und ich möchte die Mengen des gleichen Element hinzuzufügen:

Name   Quantity Description 
Pen    3 
Pencil   2 
Pen    6 
Eraser   7 
Eraser   6 

Für exmaple:

  • Ich habe Stift zweimal und so hinzufügen möchten (3 + 6) und die Anzeige der Gesamt als 9 und ...
  • ich habe zweimal Radiergummi (7 + 6), so sollte die Gesamt seinen 13.

Antwort

10

The Lösung ist GROUP BY Klausel:

SELECT Name, SUM(Quantity) 
FROM Table 
GROUP BY Name 

GROUP BY in einer SQL-Abfrage zu Gruppenzeilen für die Aggregation Zwecke zusammen verwendet wird. Zum Beispiel: Wenn Ihre Eingabetabelle hatte Zeilen:

ItemName  Qty 
Pen   4 
Pencil   7 
Pen   6 

SQL-Code:

SELECT ItemName, SUM(Qty) 
FROM Table 
GROUP BY ItemName 

GROUP BY ItemName in Ihrer Abfrage verwenden würden Sie die Ausgabe geben:

ItemName  Qty 
Pen   10 
Pencil   7 
+0

'GROUP BY' reduziert die gleichwertigen Zeilen (d. H. Gleich' Name'd) auf 1 Zeile. Und die Funktion "SUMME" fügt die Spaltenwerte hinzu, die gruppiert sind. Info: http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html –

-1
SELECT SUM(column_name) FROM table_name 

Das ist das beste Beispiel!

+4

Ich bezweifle, dass dies das beste Beispiel ist, es wählt nicht einmal die 'Name' Spalte – Bazzz

+0

ja, aber ich nicht konw Ihr Tabellenname Ich zeige Ihnen nur Codeteil –

+0

Ich meinte die COLUMN mit dem Namen 'Name' wie das OP anfordert. Wie auch immer, Snow Blind hat bereits die richtige Antwort gegeben. – Bazzz

Verwandte Themen