2010-01-05 10 views
1

MySQL 테이블에 여러 데이터 시리즈가 있습니다.MySQL은 두 개의 시리즈를 서로 나눕니다.

필드는 시리즈, 날짜, 값입니다. 두 개의 다른 계열에 대해 계열이 겹치는 모든 날짜를 선택한 다음 각 날짜에 대해 계열 1과 계열 2의 값을 몫으로 선택하는 방법이 있습니까?

예 :

Series Date Value
Dogs 2004 10
Dogs 2005 12
Dogs 2006 14
Dogs 2007 16
Cats 2004 6
Cats 2005 6
Cats 2006 7
Cats 2007 4

내가 SELECT Cats/Dogs 같은 것을 좋아하고 당신은 당신의 테이블에 자체 조인 이것을 달성 할 수있는 다음과 같은 결과를

Date Value
2004 .6
2005 .5
2006 .5
2007 .25

+1

예제 및 예상 출력을 제공하십시오. –

답변

2

을 얻을 것입니다. 성능이 Date에 인덱스를하는

SELECT cats.Series, cats.value/dogs.value 
FROM animals cats 
INNER JOIN animals dogs 
     ON dogs.Date = cats.Date 
WHERE cats.Series = "Cats" 
AND dogs.Series = "Dogs" 

는 것이 바람직 할 것이며, (Series,Date)의 키는 이상적 일 것이다.

관련 문제