Sie können grundlegende SQL-Abfragen verwenden, um Daten aus einer Datenbank abzurufen. Dies bietet jedoch häufig nicht genügend Informationen, um die geschäftlichen Anforderungen zu erfüllen. SQL bietet Ihnen auch die Möglichkeit, Abfrageergebnisse basierend auf Attributen auf Zeilenebene zu gruppieren, um Aggregatfunktionen mithilfe der GROUP BY-Klausel anzuwenden. Betrachten Sie zum Beispiel eine Bestelldatentabelle, die aus den folgenden Attributen besteht:
- Auftragsnummer - ein numerischer Wert, der jede Bestellung eindeutig identifiziert. Dieses Feld ist der Primärschlüssel für die Datenbank.
- Verkäufer - einen Textwert, der den Namen des Verkäufers enthält, der die Produkte verkauft hat. Dieses Feld ist ein Fremdschlüssel zu einer anderen Tabelle, die Personalinformationen enthält.
- Kundennummer - ein numerischer Wert, der einer Kundenkontonummer entspricht. Dieses Feld ist auch ein Fremdschlüssel, der auf eine Tabelle verweist, die Informationen zum Kundenkonto enthält.
- Einnahmen - ein numerischer Wert, der dem Dollarbetrag des Verkaufs entspricht.
Wenn es an der Zeit ist, Leistungsbewertungen für Verkäufer durchzuführen, enthält die Tabelle Bestellungen wertvolle Informationen, die für diese Überprüfung verwendet werden können. Bei der Bewertung von Jim könnten Sie beispielsweise eine einfache Abfrage schreiben, die alle Verkaufsaufzeichnungen von Jim abruft:
WÄHLEN *
VON Bestellungen
WO Verkäufer wie "Jim"
Dadurch werden alle Datensätze aus der Datenbank abgerufen, die den von Jim getätigten Verkäufen entsprechen: OrderID-Verkäufer CustomerID-Umsatz
12482 Jim 182 40000
12488 Jim 219 25000
12519 Jim 137 85000
12602 Jim 182 10000
12741 Jim 155 90000
Sie können diese Informationen überprüfen und einige manuelle Berechnungen durchführen, um Leistungsstatistiken zu erhalten. Dies wäre jedoch eine langwierige Aufgabe, die Sie für jeden Vertriebsmitarbeiter im Unternehmen wiederholen müssten. Stattdessen können Sie diese Arbeit durch eine einzige GROUP BY-Abfrage ersetzen, die Statistiken für jeden Vertriebsmitarbeiter im Unternehmen berechnet. Sie schreiben einfach die Abfrage und geben an, dass die Datenbank die Ergebnisse basierend auf dem Feld "Verkäufer" gruppieren soll. Sie können dann eine der SQL-Aggregatfunktionen verwenden, um Berechnungen für die Ergebnisse durchzuführen. Hier ist ein Beispiel. Wenn Sie die folgende SQL-Anweisung ausgeführt haben: SELECT Verkäufer, SUM (Umsatz) AS "Gesamt", MIN (Umsatz) AS "Kleinster", MAX (Umsatz) AS "Größter", AVG (Umsatz) AS "Durchschnitt", COUNT (Umsatz) AS "Anzahl"
VON Bestellungen
GROUP BY Verkäufer
Sie würden die folgenden Ergebnisse erhalten: Verkäufer insgesamt kleinste größte durchschnittliche Anzahl
Jim 250000 10000 90000 50000 5
Mary 342000 24000 102000 57000 6
Bob 118000 4000 36000 39333 3
Wie Sie sehen, können Sie mit dieser leistungsstarken Funktion aus einer SQL-Abfrage kleine Berichte generieren, die dem Manager, der die Leistungsüberprüfungen durchführt, wertvolle Business Intelligence bieten. Die GROUP BY-Klausel wird häufig in Datenbanken für diesen Zweck verwendet und ist ein wertvolles Werkzeug in der Trickkiste des DBA.