Aggregatfunktionen in SQL sind leistungsstarke Tools, die zur Durchführung von Berechnungen für eine Reihe von Werten und einen einzelnen Wert zurückgeben. Sie werden üblicherweise in Verbindung mit der SELECT
verwendet, um statistische Informationen aus einer Datenbank abzurufen. Erforschen wir jede der gemeinsamen Gesamtfunktionen:
Summe : Diese Funktion berechnet die Gesamtsumme einer numerischen Spalte. Es wird verwendet, um alle Werte in einer angegebenen Spalte hinzuzufügen. Um beispielsweise den Gesamtumsatz in einer Verkaufstabelle zu finden, würden Sie verwenden:
<code class="sql">SELECT SUM(sales_amount) FROM sales;</code>
AVG : Diese Funktion berechnet den Durchschnitt einer numerischen Spalte. Es ist ideal, um den Mittelwert von Daten zu finden, wie den durchschnittlichen Preis der verkauften Artikel:
<code class="sql">SELECT AVG(price) FROM products;</code>
Zählung : Diese Funktion zählt die Anzahl der Zeilen, die mit einem bestimmten Kriterium übereinstimmen. Es wird häufig verwendet, um die Anzahl der Datensätze in einer Tabelle oder die Anzahl der Nicht-Null-Werte in einer Spalte zu erhalten:
<code class="sql">SELECT COUNT(*) FROM customers; -- Counts all rows in the customers table SELECT COUNT(email) FROM customers; -- Counts non-null email entries</code>
Min : Diese Funktion gibt den kleinsten Wert in einer angegebenen Spalte zurück. Es ist nützlich, um den Mindestwert zu finden, z. B. den niedrigsten Preis in einer Produktliste:
<code class="sql">SELECT MIN(price) FROM products;</code>
MAX : Diese Funktion gibt den größten Wert in einer angegebenen Spalte zurück. Es kann verwendet werden, um den höchsten Wert zu finden, z. B. das maximale Gehalt in einer Mitarbeitertabelle:
<code class="sql">SELECT MAX(salary) FROM employees;</code>
Ja, Sie können mehrere Aggregatfunktionen in einer einzelnen SQL -Abfrage kombinieren. Dies ist oft nützlich, wenn Sie mehrere Statistiken aus demselben Datensatz erhalten müssen. Hier ist ein Beispiel, das zeigt, wie SUM
, AVG
und COUNT
in einer einzigen Abfrage verwendet werden:
<code class="sql">SELECT SUM(sales_amount) AS total_sales, AVG(sales_amount) AS average_sale, COUNT(*) AS number_of_sales FROM sales;</code>
In diesem Beispiel gibt die Abfrage drei verschiedene Statistiken über die Verkaufstabelle zurück: die Gesamtumsatzsumme, den durchschnittlichen Verkaufsbetrag und die Anzahl der Verkaufstransaktionen. Durch die Kombination von Aggregatfunktionen auf diese Weise können Sie auf einmal mehrere Zusammenfassungsinformationen effizient extrahieren.
Mit der Verwendung GROUP BY
mit aggregierten Funktionen können Sie die Funktionen auf Gruppen von Zeilen innerhalb Ihrer Daten anwenden und nicht auf den gesamten Datensatz. Dies ist entscheidend für die Erstellung von Zusammenfassungsberichten oder Statistiken, die nach bestimmten Kriterien gruppiert sind. Hier ist der Unterschied:
Ohne Gruppe von : Wenn Sie Aggregatfunktionen ohne GROUP BY
verwenden, wird die Funktion auf den gesamten Ergebnissatz angewendet. Zum Beispiel:
<code class="sql">SELECT AVG(salary) FROM employees;</code>
Diese Abfrage berechnet das durchschnittliche Gehalt aller Mitarbeiter in der Tabelle.
Mit der Gruppe by : Wenn Sie GROUP BY
verwenden, wird die Aggregatfunktion für jede von der GROUP BY
durch Klausel definierte Gruppe separat berechnet. Zum Beispiel:
<code class="sql">SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department;</code>
Diese Abfrage berechnet das durchschnittliche Gehalt für jede Abteilung in der employees
. Die GROUP BY
Klausel gruppiert die Zeilen nach der Abteilung, bevor die AVG
-Funktion angewendet wird, sodass Sie die Abteilungspezifische Statistiken anzeigen können.
Die Behandlung NULL
ist ein wichtiger Aspekt bei der Arbeit mit Aggregatfunktionen in SQL, da NULL
die Ergebnisse Ihrer Berechnungen beeinflussen können. Hier sind Strategien zur Verwaltung von NULL
mit unterschiedlichen Gesamtfunktionen:
NULL
. Bei der Berechnung der Summe oder des Durchschnitts behandelt SQL NULL
, als ob die Reihe nicht existiert, sodass Sie keine spezielle Maßnahmen ergreifen müssen, um sie zu verarbeiten.NULL
einschließen oder ausschließen, indem Sie COUNT(*)
oder COUNT(column_name)
verwenden. COUNT(*)
zählt alle Zeilen, einschließlich derjenigen mit NULL
, während COUNT(column_name)
nur die Nicht- NULL
in der angegebenen Spalte zählt.NULL
. Sie geben den minimalen oder maximalen Wert zwischen den Nicht- NULL
-Werten in der angegebenen Spalte zurück. Wenn Sie NULL
in Ihre Berechnungen aufnehmen möchten, können Sie die COALESCE
oder IFNULL
-Funktion verwenden, um NULL
durch einen Standardwert zu ersetzen. Um beispielsweise alle Zeilen einschließlich NULL
in einer Spalte zu zählen, aber NULL
als Null für SUM
zu behandeln, können Sie verwenden:
<code class="sql">SELECT COUNT(*) AS total_rows, SUM(COALESCE(sales_amount, 0)) AS total_sales FROM sales;</code>
In dieser Abfrage ersetzt COALESCE
alle NULL
sales_amount
durch 0
bevor die SUM
berechnet wird, sodass NULL
zur Gesamtsumme als Null beitragen können.
Das obige ist der detaillierte Inhalt vonWie verwende ich Aggregatfunktionen (Summe, AVG, Count, Min, Max) in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!