테이블 (변수 (무제한 다양성), attr (정확히 3 개의 다른 속성), 날짜, 상태 (1, 2 또는 3 만 가능))가 있습니다.
------------------------------------
| Variable | Attr | Date | State |
|------------------------------------|
| V1 | A1 |01/01/14 | 0 |
| V1 | A1 |01/02/14 | 2 |
| V1 | A1 |01/03/14 | 1 |
| V1 | A1 |01/04/14 | 2 |
| V1 | A2 |01/01/14 | 1 |
| V1 | A2 |01/02/14 | 0 |
| V1 | A2 |01/03/14 | 1 |
| V1 | A2 |01/04/14 | 1 |
| V1 | A3 |01/01/14 | 0 |
| V1 | A3 |01/02/14 | 0 |
| V1 | A3 |01/03/14 | 1 |
| V1 | A3 |01/04/14 | 2 |
| V2 | A1 |01/01/14 | 2 |
| V2 | A1 |01/02/14 | 1 |
| V2 | A1 |01/03/14 | 2 |
| V2 | A1 |01/04/14 | 1 |
| V2 | A2 |01/01/14 | 1 |
| V2 | A2 |01/02/14 | 2 |
| V2 | A2 |01/03/14 | 1 |
| V2 | A2 |01/04/14 | 0 |
| V2 | A3 |01/01/14 | 1 |
| V2 | A3 |01/02/14 | 0 |
| V2 | A3 |01/03/14 | 2 |
| V2 | A3 |01/04/14 | 1 |
| V3 | A1 |01/01/14 | 1 |
| V3 | A1 |01/02/14 | 2 |
| V3 | A1 |01/03/14 | 1 |
| V3 | A1 |01/04/14 | 1 |
| V3 | A2 |01/01/14 | 1 |
| V3 | A2 |01/02/14 | 0 |
| V3 | A2 |01/03/14 | 0 |
| V3 | A2 |01/04/14 | 2 |
| V3 | A3 |01/01/14 | 1 |
| V3 | A3 |01/02/14 | 0 |
| V3 | A3 |01/03/14 | 2 |
| V1 | A3 |01/04/14 | 1 |
| . | . |. | . |
| Vn | An |n | n |
|----------|------|----------|-------|
내가 원하는 출력 (참고 개수는이 예제의 경우 완전히 임의의 값임) :
------------------------------------
| Variable | Attr | Count | State |
------------------------------------
| V1 | A1 | 50 | 0 |
| V1 | A1 | 24 | 1 |
| V1 | A1 | 22 | 2 |
| V1 | A2 | 1 | 0 |
| V1 | A2 | 0 | 1 |
| V1 | A2 | 15 | 2 |
| V1 | A3 | 68 | 0 |
| V1 | A3 | 9 | 1 |
| V1 | A3 | 34 | 2 |
| V2 | A1 | 10 | 0 |
| V2 | A1 | 0 | 1 |
| V2 | A1 | 25 | 2 |
| V2 | A2 | 48 | 0 |
| V2 | A2 | 96 | 1 |
| V2 | A2 | 14 | 2 |
| V2 | A3 | 12 | 0 |
| V2 | A3 | 3 | 1 |
| V2 | A3 | 0 | 2 |
| V3 | A1 | 4 | 0 |
| V3 | A1 | 5 | 1 |
| V3 | A1 | 8 | 2 |
| V3 | A2 | 19 | 0 |
| V3 | A2 | 95 | 1 |
| V3 | A2 | 26 | 2 |
| V3 | A3 | 4 | 0 |
| V3 | A3 | 85 | 1 |
| V3 | A3 | 50 | 2 |
| . | . |. | . |
| Vn | An |n | n |
|----------|------|------|-------|
내가하고 싶은 첫 번째 일은 내가 쿼리를 기반으로하는 변수 + 속성 + 상태 조합을 선택하는 것입니다. 이제 V2 + A3 + 2를 선택한다고 가정 해 보겠습니다. 다음으로 var = V2, attr = A3, state = 2 인 모든 행의 날짜를 찾고 싶습니다. 다음으로 이러한 각 날짜를 살펴보고 모두 계산해야합니다. 다른 var + attr + 상태 조합. 예를 들어 V2 + A3 + 2가 01/01/14, 02/06/14, 02/07/14, 04/09/14 및 05/03/14에 발생하면 이들에 대한 다른 모든 변수를 통과합니다. 날짜를 입력하고 각 var + attr + state 조합에 대한 발생을 더합니다. 따라서 출력은 각 var + attr + state 조합을 그룹화하고 이러한 각 조합의 개수를 표시합니다.
왼쪽 조인, 내부 조인과 같은 여러 가지를 시도했습니다.
(예 :
SELECT variable, attr, count(state), state (SELECT variable, attr, state FROM t1 WHERE variable ='V2' AND Attr ='A3' and state = 2) a INNER JOIN t1 V on key a.date = b.date GROUP BY variable, attr
)
그러나 그것을 작동시킬 수 없습니다.
SELECT m2.variable, m2.attr, m2.state, COUNT(*)
FROM mytable m1
JOIN mytable m2
ON m2.date = m1.date
WHERE (m1.variable, m1.attr, m1.state) = ('V2', 'A3', 2)
GROUP BY
m2.variable, m2.attr, m2.state
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다