집 >데이터 베이스 >MySQL 튜토리얼 >단일 SQL 쿼리가 여러 WHERE 절 조건을 기반으로 고유한 합계를 검색할 수 있는 방법은 무엇입니까?
여러 WHERE 절을 사용하여 다양한 데이터 검색
SQL에서는 WHERE 절을 사용하여 특정 행을 필터링함으로써 테이블에서 데이터를 검색하는 방법을 맞춤설정할 수 있습니다. 이 문제는 동일한 테이블에서 각각 서로 다른 WHERE 절을 충족하는 두 개의 서로 다른 데이터 세트를 추출해야 하는 과제를 제시합니다.
예제 테이블 "transactions"는 ID, 계정 ID, 예산 ID, 적립 포인트 및 거래 유형을 특징으로 하는 금융 거래 기록을 저장합니다. 할당된 포인트의 합계와 각 고유 예산 ID에 대해 발행된 포인트의 합계를 계산하는 작업입니다.
이를 위해 필요한 WHERE 절을 결합하는 단일 SQL 쿼리를 구성할 수 있습니다. 다음 쿼리는 원하는 결과를 얻습니다.
<code class="language-sql">SELECT budget_id, SUM(CASE WHEN type = 'allocation' THEN points ELSE 0 END) AS allocated, SUM(CASE WHEN type = 'issue' THEN points ELSE 0 END) AS issued FROM transactions GROUP BY budget_id</code>
이 쿼리는 CASE WHEN 문을 사용하여 거래 유형에 따라 조건부로 포인트를 합산합니다. 각 예산 ID에 대해 쿼리는 "할당" 유형과 관련된 포인트 합계를 계산하고 이를 "할당" 열에 저장합니다. 마찬가지로 "issue" 유형의 포인트 합계를 계산하여 "issued" 열에 저장합니다. 예산 ID별로 결과를 그룹화함으로써 쿼리는 각 예산에 대해 할당된 포인트와 발행된 포인트에 대한 별도의 열을 포함하는 예상 결과 집합을 생성합니다.
이 쿼리는 WHERE 절을 결합하여 테이블에서 특정 데이터 하위 집합을 검색하는 SQL의 유연성을 보여 주며, 복잡한 데이터 검색 작업을 수행하기 위한 강력한 도구입니다.
위 내용은 단일 SQL 쿼리가 여러 WHERE 절 조건을 기반으로 고유한 합계를 검색할 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!