Heim >Datenbank >MySQL-Tutorial >So verwenden Sie die Funktion sum() in MySQL

So verwenden Sie die Funktion sum() in MySQL

青灯夜游
青灯夜游Original
2022-06-17 18:52:0519442Durchsuche

In MySQL wird die Funktion sum() verwendet, um die Summe einer Menge von Werten oder Ausdrücken zu berechnen. Die Syntax lautet „SUM (DISTINCT-Ausdruck)“. . Die Funktion sum() muss zusammen mit der SELECT-Anweisung verwendet werden. Wenn die Funktion SUM() in einer SELECT-Anweisung verwendet wird, die keine passenden Zeilen zurückgibt, gibt die Funktion SUM() NULL anstelle von 0 zurück. Die Funktion ignoriert die Spalten bei der Berechnung von Zeilen mit NULL-Werten.

So verwenden Sie die Funktion sum() in MySQL

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

mysql sum()-Funktion

SUM()-Funktion wird verwendet, um die Summe einer Reihe von Werten oder Ausdrücken zu berechnen. Die Syntax der SUM()-Funktion lautet wie folgt:

SUM(DISTINCT expression)
Parameter Beschreibung
Ausdruck Erforderlich. Feld oder Formel

Wie funktioniert die Funktion SUM()?

  • Wenn Sie die SUM-Funktion in einer SELECT-Anweisung verwenden, die keine passenden Zeilen zurückgibt, gibt die SUM-Funktion NULL statt 0 zurück.

  • DISTINCT-Operator ermöglicht die Berechnung unterschiedlicher Werte in einer Menge. Die Funktion

  • SUM() ignoriert bei der Berechnung Zeilen mit NULL-Spaltenwerten.

sum()-Funktionsverwendungsbeispiel

Um das Verständnis zu erleichtern, erstellen Sie zunächst eine Schüler-Bewertungstabelle tb_students_score. Der Dateninhalt der Schüler-Bewertungstabelle lautet wie folgt:

mysql> SELECT * FROM tb_students_score;

So verwenden Sie die Funktion sum() in MySQL

Verwenden Sie die Summe ()-Funktion in Die Gesamtpunktzahl der Schülernoten wird in der Tabelle tb_students_score berechnet

mysql> SELECT SUM(student_score) AS score_sum FROM tb_students_score;

So verwenden Sie die Funktion sum() in MySQL

Wie aus den Abfrageergebnissen ersichtlich ist, gibt die SUM()-Funktion die Summe aller Schülernoten als 942 zurück.

Erweiterte Kenntnisse:

MySQL SUM mit GROUP BY-Klausel

In Kombination mit der GROUP BY-Klausel berechnet die Funktion SUM() die Summe für jede in der GROUP BY-Klausel angegebene Gruppierung. Beispielsweise kann der Gesamtbetrag jeder Bestellung mithilfe der SUM-Funktion mit einer GROUP BY-Klausel wie folgt berechnet werden:

SELECT orderNumber,
       FORMAT(SUM(quantityOrdered * priceEach),2) total
FROM orderdetails
GROUP BY orderNumber
ORDER BY SUM(quantityOrdered * priceEach) DESC;

Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse:

+-------------+-----------+
| orderNumber | total     |
+-------------+-----------+
|       10165 | 67,392.85 |
|       10287 | 61,402.00 |
|       10310 | 61,234.67 |
|       10212 | 59,830.55 |
*** 此处省略了一大波数据 *****
|       10116 | 1,627.56  |
|       10158 | 1,491.38  |
|       10144 | 1,128.20  |
|       10408 | 615.45    |
+-------------+-----------+
327 rows in set

MySQL SUM with HAVING

Sie können die HAVING-Klausel in der SUM-Funktion verwenden, um Ergebnisse basierend auf bestimmten Kriterien zu filtern. Sie können beispielsweise die Gesamtbestellmenge berechnen und nur Bestellungen auswählen, deren Gesamtmenge größer als 60.000 ist. Die folgende Abfrageanweisung:

SELECT orderNumber,
       FORMAT(SUM(quantityOrdered * priceEach),2)
FROM orderdetails
GROUP BY orderNumber
HAVING SUM(quantityOrdered * priceEach) > 60000
ORDER BY SUM(quantityOrdered * priceEach);

Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse:

So verwenden Sie die Funktion sum() in MySQL

MySQL SUM und LIMIT

Angenommen, Sie möchten die Summe der zehn teuersten Produkte der Welt berechnen In der Produkttabelle können Sie die folgende Abfrage erstellen:

SELECT SUM(buyprice)
FROM products
ORDER BY buyprice DESC
LIMIT 10;

Führen Sie die obige Abfrageanweisung aus und erhalten Sie das folgende Ergebnis:

So verwenden Sie die Funktion sum() in MySQL

Es funktioniert nicht, da die SELECT-Anweisung mit der SUM-Funktion nur eine Zeile und die LIMIT-Klausel zurückgibt Einschränkung: Die Anzahl der zurückzugebenden Zeilen ist ungültig. Um dieses Problem zu lösen, verwenden Sie die folgende Unterabfrage:

SELECT FORMAT(SUM(buyprice),2) FROM
(SELECT buyprice
FROM products
ORDER BY buyprice DESC
LIMIT 10) price;

Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse -

So verwenden Sie die Funktion sum() in MySQL

Wie wird die obige Anweisung ausgeführt? Die Unterabfrage wählt die zehn teuersten Produkte aus. Die äußere Abfrage berechnet die Summe der zehn Produkte mit dem höchsten Preis, die von der Unterabfrage zurückgegeben wurden.

MySQL SUM vs NULL

Wenn keine übereinstimmenden Zeilen vorhanden sind, gibt die SUM-Funktion einen NULL-Wert zurück. Manchmal möchten Sie, dass die SUM-Funktion 0 statt NULL zurückgibt. In diesem Fall können Sie die COALESCE-Funktion verwenden. Die COALESCE-Funktion akzeptiert zwei Parameter. Wenn der erste Parameter NULL ist, wird der zweite Parameter zurückgegeben. Beachten Sie die folgende Abfrageanweisung:

SELECT COALESCE(SUM(quantityOrdered * priceEach),0)
FROM orderdetails
WHERE productCode = 'S1_212121';

Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse

So verwenden Sie die Funktion sum() in MySQL【Verwandte Empfehlungen:

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Funktion sum() in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn