이것은 매우 쉬운 쿼리입니다 (필자는 생각합니다).하지만 저는 그것을 할 수 없습니다.AS400 용 DB2의 간단한 쿼리
좀이 같은 데이터가 있습니다
A B C
1 1100 5
1 1100 5
1 500 1
2 1200 4
2 1200 4
2 600 1
3 1300 3
3 1300 3
3 700 1
을 그리고 나는이 같은 C의 SUM, 또는 뭔가 당 최고 B를 반환 할 : 또한
A B C
1 1100 10
2 1200 8
3 1300 6
, 내가 ' m AS400 용 DB2를 사용하므로 TOP 키워드를 사용할 수 없습니다.
EDIT @의 OMG의 조랑말 : 나는
SELECT
t.A
,MAX(t.B)
,SUM(t.C)
FROM t
GROUP BY
t.A
같은 somethine을 시도
하지만 C의 총합을 반환뿐만 아니라 사람이 선택 :
A B C
1 1100 11
2 1200 9
3 1300 7
감사합니다! DB2 사용자에
SELECT t.a,
t.b,
t.c
FROM TABLE t
JOIN (SELECT x.a,
MAX(x.b) AS max_b
FROM TABLE x
GROUP BY x.a) y ON y.a = t.a
AND y.max_b = t.b
감사합니다. 그러나 해결책은 효과가 있지만 이걸 가지고는 다른 일을 할 수는 있었지만 그렇게하지는 못했습니다. 이것도 나에게 줄 수 있니? 질문을 읽어보십시오. 감사합니다 =). – Carlo
@Carlo : 업데이트되었지만 그게 맞는지 확실하지 않습니다. –
매력처럼 작동합니다. 결국 GROUP BY t.A, t.B가 필요했습니다. 감사합니다. 좋은 대답. – Carlo