>데이터 베이스 >MySQL 튜토리얼 >조건부 SQL 쿼리를 사용하여 작업 우선순위를 계산하는 방법은 무엇입니까?

조건부 SQL 쿼리를 사용하여 작업 우선순위를 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-10 10:02:44262검색

How to Count Job Priorities Using Conditional SQL Queries?

우선순위 분석을 위해 조건부 개수 쿼리 사용

데이터 분석에서 범주형 데이터에서 정보를 추출하려면 조건부 계산이 필요한 경우가 많습니다. "jobId", "jobName" 및 "Priority" 열이 포함된 테이블을 생각해 보세요. 여기서 "Priority"의 범위는 1~5입니다. 각 우선순위 수준에 대한 행 수를 계산하는 쿼리를 만들어야 합니다.

CASE 문을 사용한 쿼리:

다음 쿼리는 CASE 문을 사용하여 각 우선순위 수준에 대한 조건부 계산을 수행합니다.

<code class="language-sql">SELECT 
    jobID, 
    jobName,
    SUM(CASE WHEN Priority = 1 THEN 1 ELSE 0 END) AS Priority1,
    SUM(CASE WHEN Priority = 2 THEN 1 ELSE 0 END) AS Priority2,
    SUM(CASE WHEN Priority = 3 THEN 1 ELSE 0 END) AS Priority3,
    SUM(CASE WHEN Priority = 4 THEN 1 ELSE 0 END) AS Priority4,
    SUM(CASE WHEN Priority = 5 THEN 1 ELSE 0 END) AS Priority5
FROM 
    Jobs
GROUP BY 
    jobID, 
    jobName</code>

각 행에 대해 CASE 문은 "Priority" 값이 지정된 숫자와 일치하는지 확인합니다(예: Priority1은 1임). 이 표현식은 true인 경우 1을 반환하고 false인 경우 0을 반환합니다. 그런 다음 SUM 함수는 각 그룹("jobId" 및 "jobName"으로 결정됨)에 대해 이러한 값을 집계합니다.

작업 ID 및 작업 이름 제거:

결과에 "jobId" 및 "jobName"이 포함될 필요가 없으면 SELECT 및 GROUP BY 절을 수정하여 제거할 수 있습니다.

<code class="language-sql">SELECT 
    SUM(CASE WHEN Priority = 1 THEN 1 ELSE 0 END) AS Priority1,
    SUM(CASE WHEN Priority = 2 THEN 1 ELSE 0 END) AS Priority2,
    SUM(CASE WHEN Priority = 3 THEN 1 ELSE 0 END) AS Priority3,
    SUM(CASE WHEN Priority = 4 THEN 1 ELSE 0 END) AS Priority4,
    SUM(CASE WHEN Priority = 5 THEN 1 ELSE 0 END) AS Priority5
FROM 
    Jobs</code>

이 단순화된 쿼리는 각 우선순위 수준에 대한 조건 수만 반환합니다.

위 내용은 조건부 SQL 쿼리를 사용하여 작업 우선순위를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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