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

MySQL에서 'SUM IF' 및 'COUNT IF' 없이 조건부 집계를 수행하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-21 00:52:12306검색

How to Perform Conditional Aggregation in MySQL without 'SUM IF' and 'COUNT IF'?

MySQL: 'SUM IF' 및 'COUNT IF'를 사용한 조건부 집계의 대체 방법

다음 시나리오를 고려하십시오. 테이블이 있습니다. 'hour' 및 'kind'라는 열이 있고 조건에 따라 계산을 수행하려고 합니다. 예를 들어, '종류' 열이 1인 행 수를 계산하거나 '종류' 열이 2인 행에 대해서만 '시간' 열의 합을 계산할 수 있습니다.

MySQL에서, 'SUM IF' 또는 'COUNT IF'를 사용하는 구문은 직접 지원되지 않습니다. 대신 CASE 문을 사용하여 조건부 집계를 수행할 수 있습니다.

SELECT 
    count(id), 
    SUM(hour) as totHour, 
    SUM(case when kind = 1 then 1 else 0 end) as countKindOne
FROM table_name;

이 쿼리는 총 행 수를 계산하고, 모든 행의 '시간' 열을 합산하고, '시간' 열의 수를 계산합니다. kind' 열은 1과 같습니다.

MySQL의 조건부 집계에 대한 자세한 내용은 다음을 참조하세요. 리소스:

  • MySQL 문서: [CASE 함수](https://dev.mysql.com/doc/refman/8.0/en/case-statement.html)
  • 스택 오버플로 주제: [MySQL SUM IF 필드 b = 필드 a](https://stackoverflow.com/questions/2200315/mysql-sum-if-field-b-field-a)

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

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