Obtenga la suma de varias columnas en MySQL

Shraddha Paghdar 20 junio 2023
Obtenga la suma de varias columnas en MySQL

En la publicación de hoy, aprenderemos cómo sumar varias columnas en MySQL.

Suma varias columnas en MySQL

Puede calcular los valores totales en un conjunto usando la función agregada SUM(). Los valores NULL no son considerados en el cálculo por la función SUM().

La función de agregado SUM() tiene la siguiente sintaxis:

SELECT SUM(aggregate_expression)
FROM table_name
WHERE conditions;

El parámetro expresión_agregada especifica la columna o expresión para calcular el total.

Las tablas de las que deseamos obtener registros se especifican mediante table_name. La cláusula FROM debe enumerar una tabla como mínimo.

Las condiciones para DÓNDE son opcionales. Para que los registros sean reconocidos, se deben cumplir ciertos requisitos, como se indica en la declaración DÓNDE.

Debe usar la instrucción CASE en una consulta de MySQL para seleccionar varias columnas de suma y mostrarlas en columnas distintas. Cuando cualquier condición cumple con la declaración provista, la función CASE() en MySQL se usa para determinar un valor al pasar por alto la condición; de lo contrario, devuelve la sentencia en una sección else.

Cuando se cumple una condición, detiene la lectura y devuelve la salida. La siguiente es la sintaxis:

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;

Considere el siguiente ejemplo para comprender mejor el concepto anterior.

-- 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;

En el ejemplo anterior, estamos calculando la bonificación total que la corporación ha pagado hasta el momento. En la segunda operación, nuestro objetivo es obtener las calificaciones acumuladas de cada estudiante en todos los temas.

Ejecute la línea de código anterior en cualquier navegador compatible con MySQL. Mostrará el siguiente resultado:

+------------+
| 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