>데이터 베이스 >MySQL 튜토리얼 >두 개의 SELECT 쿼리를 결합하여 각 개인의 작업 및 지연 작업을 계산하는 방법은 무엇입니까?

두 개의 SELECT 쿼리를 결합하여 각 개인의 작업 및 지연 작업을 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-08 22:32:43717검색

How to Combine Two SELECT Queries to Count Tasks and Late Tasks for Each Individual?

종합적인 작업 분석을 위한 SELECT 쿼리 결합

데이터베이스 쿼리에서는 완전한 그림을 위해 여러 소스의 데이터를 결합해야 하는 경우가 많습니다. 여기에는 여러 SELECT 문의 결과를 결합하는 작업이 포함됩니다. 이는 많은 프로그래밍 상황에서 중요한 기술입니다.

마감일과 개별 할당이 포함된 작업 데이터베이스와 관련된 시나리오를 생각해 보세요. 목표는 각 개인, 총 작업 수, 기한이 지난 작업 수를 보여주는 보고서를 생성하는 것입니다.

이는 두 개의 별도 SELECT 쿼리를 사용하여 달성할 수 있습니다. 하나는 개인별 작업을 계산하는 것이고 다른 하나는 기한이 지난 작업을 계산하는 것입니다(Age가 사전 정의된 기한을 초과하는 경우 PALT). 이 정보를 통합하기 위해 LEFT JOIN가 사용됩니다. 이렇게 하면 두 번째 쿼리의 일치하는 기한이 지난 작업 수와 함께 첫 번째 쿼리의 모든 개인이 포함됩니다. 조인은 ks 열(개별 식별자)을 기반으로 합니다.

결합된 쿼리는 다음과 같습니다.

<code class="language-sql">SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late]
FROM 
    (SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1
LEFT JOIN
    (SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2
ON t1.ks = t2.ks;</code>

출력은 각 개인의 ks, 총 작업 수(# Tasks) 및 기한이 지난 작업 수(# Late)를 나열하는 테이블입니다. COALESCE은 개인에게 기한이 지난 작업이 없는 경우를 처리하며 0# Late 값을 할당합니다. 이는 포괄적이고 정확한 요약을 제공합니다.

위 내용은 두 개의 SELECT 쿼리를 결합하여 각 개인의 작업 및 지연 작업을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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