mysql에서 sum() 함수를 사용하는 방법

青灯夜游
풀어 주다: 2022-06-17 18:52:19
원래의
19397명이 탐색했습니다.

mysql에서 sum() 함수는 일련의 값 또는 표현식의 합계를 계산하는 데 사용됩니다. 구문은 "SUM(DISTINCT 표현식)"입니다. DISTINCT 연산자를 사용하면 집합의 다른 값을 계산할 수 있습니다. . sum() 함수는 SELECT 문과 함께 사용해야 합니다. 일치하는 행을 반환하지 않는 SELECT 문에 SUM() 함수를 사용하면 SUM() 함수는 0 대신 NULL을 반환합니다. 함수는 NULL 값이 있는 행을 계산할 때 열을 무시합니다.

mysql에서 sum() 함수를 사용하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

mysql sum() 함수

SUM() 함수는 일련의 값 또는 표현식의 합계를 계산하는 데 사용됩니다. SUM() 함수의 구문은 다음과 같습니다.

SUM(DISTINCT expression)
로그인 후 복사
ParametersDescription
expression필수입니다. 필드 또는 수식

SUM() 함수는 어떻게 작동하나요?

  • 일치하는 행을 반환하지 않는 SELECT 문에서 SUM 함수를 사용하면 SUM 함수는 0 대신 NULL을 반환합니다.

  • DISTINCT 연산자를 사용하면 집합의 고유한 값을 계산할 수 있습니다.

  • SUM() 함수는 계산 시 NULL 열 값이 있는 행을 무시합니다.

sum() 함수 사용예

이해를 돕기 위해 먼저 학생 점수 테이블 tb_students_score를 생성합니다. 학생 점수 테이블의 데이터 내용은 다음과 같습니다

mysql> SELECT * FROM tb_students_score;
로그인 후 복사

mysql에서 sum() 함수를 사용하는 방법

합을 사용합니다. () 함수는 tb_students_score 테이블

mysql> SELECT SUM(student_score) AS score_sum FROM tb_students_score;
로그인 후 복사

mysql에서 sum() 함수를 사용하는 방법

에서 학생 성적의 총점을 계산합니다. 쿼리 결과에서 알 수 있듯이 SUM() 함수는 모든 학생 성적의 합을 942로 반환합니다.

확장 지식:

MySQL SUM with GROUP BY 절

GROUP BY 절과 결합하면 SUM() 함수는 GROUP BY 절에 지정된 각 그룹화에 대한 합계를 계산합니다. 예를 들어 다음과 같이 GROUP BY 절이 포함된 SUM 함수를 사용하여 각 주문의 총 금액을 계산할 수 있습니다.

SELECT orderNumber,
       FORMAT(SUM(quantityOrdered * priceEach),2) total
FROM orderdetails
GROUP BY orderNumber
ORDER BY SUM(quantityOrdered * priceEach) DESC;
로그인 후 복사

위 쿼리 문을 실행하면 다음 결과를 얻을 수 있습니다.

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

SUM 함수의 HAVING 절을 사용하여 특정 조건에 따라 결과를 필터링할 수 있습니다. 예를 들어 총 주문 수량을 계산하고 총 금액이 60,000보다 큰 주문만 선택할 수 있습니다. 다음 쿼리문 -

SELECT orderNumber,
       FORMAT(SUM(quantityOrdered * priceEach),2)
FROM orderdetails
GROUP BY orderNumber
HAVING SUM(quantityOrdered * priceEach) > 60000
ORDER BY SUM(quantityOrdered * priceEach);
로그인 후 복사

위 쿼리문을 실행하여 다음과 같은 결과를 얻음 -

mysql에서 sum() 함수를 사용하는 방법

MySQL SUM 및 LIMIT

에서 가장 비싼 상위 10개 제품의 합계를 계산한다고 가정해 보겠습니다. products 테이블에서 다음 쿼리를 생각해 낼 수 있습니다.

SELECT SUM(buyprice)
FROM products
ORDER BY buyprice DESC
LIMIT 10;
로그인 후 복사

위 쿼리 문을 실행하여 다음 결과를 얻습니다.

mysql에서 sum() 함수를 사용하는 방법

SUM 함수가 포함된 SELECT 문은 한 행만 반환하고 LIMIT 절을 반환하므로 작동하지 않습니다. 반환할 행 수에 대한 제약 조건이 잘못되었습니다. 이 문제를 해결하려면 다음 하위 쿼리를 사용하세요.

SELECT FORMAT(SUM(buyprice),2) FROM
(SELECT buyprice
FROM products
ORDER BY buyprice DESC
LIMIT 10) price;
로그인 후 복사

위 쿼리 문을 실행하고 다음 결과를 얻습니다. -

mysql에서 sum() 함수를 사용하는 방법

위 문은 어떻게 실행되나요? 하위 쿼리는 가장 비싼 상위 10개 제품을 선택합니다. 외부 쿼리는 하위 쿼리에서 반환된 최고 가격 상위 10개 제품의 합계를 계산합니다.

MySQL SUM 대 NULL

일치하는 행이 없으면 SUM 함수는 NULL 값을 반환합니다. 때로는 SUM 함수가 NULL 대신 0을 반환하기를 원할 수도 있습니다. 이 경우 COALESCE 기능을 사용할 수 있습니다. COALESCE 함수는 두 개의 매개변수를 허용합니다. 첫 번째 매개변수가 NULL이면 두 번째 매개변수가 반환되고, 그렇지 않으면 다음 쿼리 문을 참조하세요.

SELECT COALESCE(SUM(quantityOrdered * priceEach),0)
FROM orderdetails
WHERE productCode = 'S1_212121';
로그인 후 복사

위 쿼리 문을 실행하면 다음 결과가 나옵니다.

mysql에서 sum() 함수를 사용하는 방법

【관련 추천: mysql 비디오 튜토리얼

위 내용은 mysql에서 sum() 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿