Holen Sie sich die Summe mehrerer Spalten in MySQL

Shraddha Paghdar 20 Juni 2023
Holen Sie sich die Summe mehrerer Spalten in MySQL

Im heutigen Beitrag lernen wir, wie man mehrere Spalten in MySQL summiert.

Mehrere Spalten in MySQL summieren

Sie können die Gesamtwerte in einem Set mit der Aggregatfunktion SUM() berechnen. Die NULL-Werte werden bei der Berechnung durch die SUM()-Funktion nicht berücksichtigt.

Die Aggregatfunktion SUM() hat folgende Syntax:

SELECT SUM(aggregate_expression)
FROM table_name
WHERE conditions;

Der Parameter aggregate_expression gibt die Spalte oder den Ausdruck für die Berechnung der Summe an.

Die Tabellen, aus denen wir Datensätze erhalten möchten, werden durch table_name angegeben. Die FROM-Klausel muss mindestens eine Tabelle auflisten.

Die conditions für WHERE sind optional. Damit die Aufzeichnungen anerkannt werden, müssen bestimmte Anforderungen erfüllt werden, wie in der WHERE-Anweisung angegeben.

Sie müssen die CASE-Anweisung in einer MySQL-Abfrage verwenden, um mehrere sum-Spalten auszuwählen und sie in verschiedenen Spalten anzuzeigen. Wenn eine Bedingung die bereitgestellte Anweisung erfüllt, wird die Funktion CASE() in MySQL verwendet, um einen Wert zu bestimmen, indem die Bedingung übergeben wird; andernfalls gibt es die Anweisung in einem else-Abschnitt zurück.

Wenn eine Bedingung erfüllt ist, hält es das Lesen an und gibt die Ausgabe zurück. Folgendes ist die Syntax:

SELECT
    SUM( CASE WHEN column_name1=value_1 THEN column_name2 END ) AS alias_column_1,
    SUM( CASE WHEN column_name1=value_2 THEN column_name2 END ) AS alias_column_2,
FROM yourTableName;

Betrachten Sie das folgende Beispiel, um das vorherige Konzept besser zu verstehen.

-- Total Bonus
SELECT
    SUM(bonus) as TotalBonus
FROM
    EmployeeBonus;
-- Total Marks
SELECT
    SUM(maths+physics+chemistry) as TotalMarks, studentId
FROM
    StudentMarks
GROUP BY
    studentId;

SELECT
    SUM(CASE WHEN subject='Maths' THEN marks END) AS 'Maths TOTAL SCORE',
    SUM(CASE WHEN subject='Physics' THEN marks END) AS 'Physics TOTAL SCORE',
    SUM(CASE WHEN subject='Chemistry' THEN marks END) AS 'Chemistry TOTAL SCORE'
FROM StudentMarks;

Im obigen Beispiel ermitteln wir den Gesamtbonus, den das Unternehmen bisher ausgezahlt hat. In der zweiten Operation streben wir an, die kumulierten Noten aller Studierenden über alle Themen hinweg zu erhalten.

Führen Sie die obige Codezeile in jedem mit MySQL kompatiblen Browser aus. Es wird das folgende Ergebnis angezeigt:

+------------+
| TotalBonus |
+------------+
| $123445663 |
+------------+
1 row in set (0.00 sec)

+------------+-----------+
| TotalMarks | studentId |
+------------+-----------+
| 278        |       1   |
| 256        |       2   |
| 289        |       3   |
+------------+-----------+
3 row in set (0.01 sec)
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn