>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 SUM 및 COUNT를 사용하여 조건부 집계를 수행하는 방법은 무엇입니까?

MySQL에서 SUM 및 COUNT를 사용하여 조건부 집계를 수행하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-16 07:32:02659검색

How to Perform Conditional Aggregation with SUM and COUNT in MySQL?

MySQL에서 SUM 및 COUNT를 사용한 조건부 집계

관계형 데이터베이스로 작업할 때 데이터를 요약하기 위해 조건부 집계를 수행해야 하는 경우가 많습니다. 특정 기준에 따라. MySQL은 IF() 및 CASE 문 사용을 포함하여 이를 달성하기 위한 여러 가지 방법을 제공합니다.

IF() 문 사용

귀하의 예에서는 다음을 시도했습니다. IF() 문을 사용하여 종류가 1인 행의 개수를 계산합니다. 그러나 MySQL은 SUM 및 같은 집계 함수에서 IF() 문을 사용하는 것을 허용하지 않습니다. 세다. 이는 IF()가 스칼라 값을 반환하는 반면 집계 함수에는 입력으로 열 표현식이 필요하기 때문입니다.

CASE 문 사용

조건부 집계를 수행하려면 다음을 수행하세요. CASE 문을 사용하세요. CASE 문을 사용하면 여러 조건을 지정하고 해당 조건에 따라 다른 값을 반환할 수 있습니다.

다음 쿼리에서는 CASE 문을 사용하여 종류가 1인 행 수를 계산합니다.

SELECT
    COUNT(id),
    SUM(hour) AS totHour,
    SUM(CASE
        WHEN kind = 1 THEN 1
        ELSE 0
    END) AS countKindOne
FROM your_table;

이 쿼리에서:

  • CASE 문은 조건 종류를 평가하는 데 사용됩니다. 1.
  • 조건이 TRUE이면 1을 반환합니다.
  • 조건이 FALSE이면 0을 반환합니다.
  • CASE 문의 결과는 다음으로 전달됩니다. SUM() 집계 함수

위 내용은 MySQL에서 SUM 및 COUNT를 사용하여 조건부 집계를 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.