2016-10-17 2 views
0

개별 값을 가져와 열 내의 합계로 나누려고합니다.집계 함수 사용시 문제

e.e.

SELECT (column1/SUM(column1)) 
FROM Table a 

이 잘 작동,하지만 난 그런 정보의 또 다른 필요한 부분 ...

SELECT column2 
     ,(column1/SUM(column1)) 
FROM Table a 

을 포함 할 때 그것 중 하나를 집계에 포함되지 않기 때문에 열 1이 선택 목록에 잘못된 반환 함수 또는 GROUP BY 절.

그런 다음 group by 절 내에 column2를 포함하면 내 SUM (column1)은 column2 값에 따라 이전 값을 다시 채 웁니다 .... 내 SUM의 목적을 무효화합니다.

도움 말?

+2

당신이 있습니까 부여 합 (-)을 통해 합계 (1 열)을 MySQL 또는 SQL Server 사용? –

답변

0

, 컬럼의 합 얻기 위해 전체 명시 적으로 하위 쿼리를 사용

SELECT column2, 
     column1/(SELECT SUM(column1) FROM Tablea) 
FROM Tablea 
0

당신은 기능 윈도 합을 사용할 수 있습니다 -

SELECT column2, column1/(SUM(column1) OVER()) FROM YourTable