MSSQL 곱셈-집계 함수 곱셈, SUM() 곱셈함수, row 곱셈, 특정필드 값 곱셈
제목 뒤에 붙은 “집계 함수 곱셈, 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