2013-07-25 5 views
0

나는 처음으로이 사이트를 발견하고 도움을 청하는 데 도움이 필요합니다.다른 기준에 따라 여러 번 계산하는 방법

내 데이터베이스에는 3 개의 열 (이름, 유형 및 의사 결정)이 있습니다. 이름 필드에는 100 개의 레코드가 있으며 중복이있을 수 있습니다. 2 가지 유형 (온라인 및 오프라인)과 2 가지 종류의 결정 (일치 또는 불일치)이 있습니다.

내가 필요한 것은 이름으로 그룹화 된 각 유형의 일치 및 불일치 수를 얻는 것입니다.

아래의 표는 열이 같을 것이다 : 필드의 0의 개수가있는 경우

Name|Online Match Count|Online Mismatch Count|Offline Match Count|Offline Mismatch Count| 

은 또한, 나는 그것뿐만 아니라 0으로 표시 할.

아무에게도이를 수행하는 방법을 알고 있습니까? 나는 그것을 매우 감사 할 것이다.

답변

0

이전에 질문 한 "별도의 열에 여러 기준 계산 - MySQL"이 도움이 될 것입니다.

+0

이 글에서 텍스트의 공백을 구분할 때까지 무시하십시오. – user2619683

+0

@Nikhil : 우선, 링크가 좋을 것입니다, 둘째 : 이것은 주석으로서 더 좋을 것입니다. –

+0

@ Joachim Sauer : 내가 평판이 아주 좋지 않았기 때문에 나는 그것을 주석으로 쓸 수 없었다. –

1

이것은 일반적인 기술로 피벗 쿼리라고합니다.

SELECT 
    Name, 
    SUM(CASE WHEN Type='online' AND Decision='Match' THEN 1 ELSE 0 END) as "Online Match Count", 
    SUM(CASE WHEN Type='online' AND Decision='Mismatch' THEN 1 ELSE 0 END) as "Online Mismatch Count", 
    SUM(CASE WHEN Type='offline' AND Decision='Match' THEN 1 ELSE 0) as "Offline Match Count", 
    SUM(CASE WHEN Type='offline' AND Decision='Mismatch' THEN 1 ELSE 0 END) as "Offline Mismatch Count" 
FROM TableName 
GROUP BY Name 
관련 문제