MySQL에서 여러 열의 합계 얻기
오늘 포스팅에서는 MySQL에서 여러 열을 합산하는 방법에 대해 알아보겠습니다.
MySQL의 여러 열 합계
집계 함수 SUM()
을 사용하여 세트의 총 값을 계산할 수 있습니다. NULL
값은 SUM()
함수에 의한 계산에서 고려되지 않습니다.
SUM()
집계 함수의 구문은 다음과 같습니다.
SELECT SUM(aggregate_expression)
FROM table_name
WHERE conditions;
aggregate_expression
매개변수는 합계를 계산하기 위한 열 또는 표현식을 지정합니다.
레코드를 가져오려는 테이블은 table_name
으로 지정됩니다. FROM
절은 최소한 하나의 테이블을 나열해야 합니다.
WHERE
에 대한 조건
은 선택 사항입니다. 레코드가 인식되려면 WHERE
문에 명시된 대로 특정 요구 사항을 충족해야 합니다.
MySQL 쿼리에서 CASE
문을 사용하여 여러 sum
열을 선택하고 개별 열에 표시해야 합니다. 조건이 제공된 문을 충족하면 MySQL의 CASE()
함수를 사용하여 조건을 전달하여 값을 결정합니다. 그렇지 않으면 else
섹션의 명령문을 반환합니다.
조건이 충족되면 읽기를 중지하고 출력을 반환합니다. 구문은 다음과 같습니다.
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;
이전 개념을 더 잘 이해하려면 다음 예를 고려하십시오.
-- 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;
위의 예에서는 기업이 지금까지 지급한 총 상여금을 파악하고 있습니다. 두 번째 작업에서는 모든 주제에 걸쳐 모든 학생의 누적 성적을 얻는 것을 목표로 합니다.
MySQL과 호환되는 모든 브라우저에서 위의 코드 행을 실행하십시오. 다음과 같은 결과가 표시됩니다.
+------------+
| 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 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