2009-12-12 5 views
0

는이 같은 전자 테이블이 : 난 1.5, 2.3 및 1.5로 그룹화 열 B의 합을 만들 수있는 방법을하나의 선택에서 sum()을 사용할 수 있습니까?

A B 
1 1.5 
1 1.5 
2 2.3 
2 2.3 
2 2.3 
3 1.5 
3 1.5 

. 몇 마디로, 나는 먼저 그룹화하고 sum()을 만들고 싶지만, 하나를 선택하고 싶습니다. 이 테이블

결과 인 경우 열을 기준으로하면 그룹 :

A B 
1 1.5 
2 2.3 
3 1.5 

는 이제) (상기 B 열의 합계를 원한다.

+1

예상되는 출력을 추가 할 수 있습니까? – shahkalpesh

+0

나는 이것을 정확하게 읽고 있다고 생각하지 않는다. 필요한 쿼리의 예제 출력을 추가 할 수 있습니까? – llamaoo7

+0

그래, 뭘 원해? '1 : 3; 2 : 6.9; 3 : 3 '또는'1.5 : 6, 2.3 : 6.9'? –

답변

1

나는 긍정적 아니지만, 당신이 열 B의 각각의 값에 대한 합계

이 시도 부여 (열 A를 완전히 무시) 할 것 같습니다 :

select b, sum(b) 
from tableName 
group by b 
1
select A, sum(B) from table 
group by A 

트릭을해야합니다.

0

당신의 설명을 감안할 때,이 당신을 위해 그것을 할 것입니다 :

select sum(b) 
from (
    select b 
    from YourTable 
    group by a, b 
) sub 

이 모든 고유 값의 합계 것입니다 :

select a, sum(b) 
from myTable 
group by a 
0
SELECT SUM(B) 
FROM (SELECT DISTINCT A, B FROM tbl) PLEASE 
1

이 a와 b에 그룹화 한 후 별개의 행 합계 것 B :

select sum(distinct b) 
from YourTable 

이 w ould는 A의 각 값에 대해 B의 가장 높은 값을 합합니다.

select sum(maxb) 
from (
    select max(b) as maxb 
    from YourTable 
    group by a 
) sub 
관련 문제