제목 뒤에 붙은 “집계 함수 곱셈, SUM() 곱셈함수, ..”은 검색이 좀 용이하라고 붙여둔 것 입니다.
SUM() 처럼 덧셈을 해주는 집계 함수는 있는데, 곱셈을 해주는 집계 함수는 없습니다.
사실 곱셈을 집계라고 부르긴 쫌 뭐한 부분이 있습니다.
여튼 곱셈을 할 때에는 EXP(SUM(LOG(val))) 이렇게 합니다.
create table #testMultiplication
(
id int IDENTITY(1,1) NOT NULL,
g nvarchar(50) not null,
val int not null
)
go
insert into #testMultiplication values ('g1', 2)
insert into #testMultiplication values ('g1', 3)
insert into #testMultiplication values ('g1', 4)
insert into #testMultiplication values ('g2', 20)
insert into #testMultiplication values ('g2', 30)
insert into #testMultiplication values ('g2', 40)
SELECT g
, EXP(SUM(LOG(val))) val
FROM #testMultiplication
group by g
drop table #testMultiplication
go
'MSSQL' 카테고리의 다른 글
MSSQL SELECT 쿼리 LEFT JOIN 속도 개선 - left merge join (0) | 2013.11.14 |
---|---|
MSSQL 차집합 구하기 (0) | 2013.11.14 |
MSSQL money 타입 소수점부 값 조회 (1) | 2013.08.30 |