적용 대상:적용 대상: Microsoft Fabric의 SQL Server 2025(17.x) 미리 보기
Azure SQL Database
Azure Synapse Analytics
SQL 데이터베이스
식에서 모든 값의 PRODUCT 또는 DISTINCT 값만 반환합니다. 숫자 열에만 사용합니다. Null 값은 무시됩니다.
문법
집계 함수 구문입니다.
PRODUCT ( [ ALL | DISTINCT ] expression )
분석 함수 구문입니다.
PRODUCT ( [ ALL ] expression) OVER ( [ PARTITION BY clause ] ORDER BY clause)
주장들
모두
집계 함수를 모든 값에 적용합니다. 기본값은 ALL입니다.
별개
PRODUCT에서 고유한 값의 PRODUCT를 반환할 것을 지정합니다.
표현식
상수, 열 또는 함수 및 산술, 비트 및 문자열 연산자의 조합입니다. 식 은 비트 데이터 형식을 제외하고 정확한 숫자 또는 근사값 데이터 형식 범주의 식입니다. 집계 함수 및 하위 쿼리는 허용되지 않습니다. 자세한 내용은 식을 참조하세요.
OVER ( [ PARTITION BY 절 ] ORDER BY 절 )
함수가 적용되기 전에 행 집합의 분할 및 순서를 결정합니다.
PARTITION BY
절은 FROM 절에서 생성된 결과 집합을 함수가 적용되는 파티션으로 나눕니다. 지정하지 않을 경우 쿼리 결과 집합의 모든 행이 단일 그룹으로 취급됩니다.
ORDER BY
절은 작업이 수행되는 논리적 순서를 결정합니다. 필수 사항입니다. 자세한 내용은 OVER 절을 참조하세요.
반환 형식
가장 정확한 식 데이터 형식의 모든 식 값의 곱을 반환합니다.
식 결과 | 반환 형식 |
---|---|
tinyint | int |
smallint (스몰인트) | int |
int | int |
bigint | bigint |
10진수 범주(p, s) | if (s == 0): decimal(38, 0) Else: decimal(38, 6) |
money 및 smallmoney 범주 | 돈 |
float 및 real 범주 | 플로트 |
비고
PRODUCT
는 and OVER
절 없이 ORDER BY
사용할 때 결정적 함수입니다. and OVER
절로 ORDER BY
지정하면 비결정적입니다. 자세한 내용은 결정적 함수와 비결정적 함수를 참조하세요.
예시
이 문서의 코드 샘플은 AdventureWorks2022
또는 AdventureWorksDW2022
샘플 데이터베이스를 사용합니다. 이 데이터베이스는 Microsoft SQL Server 샘플 및 커뮤니티 프로젝트 홈페이지에서 다운로드할 수 있습니다.
A. 행 곱하기
다음 예제에서는 PRODUCT 함수를 사용하는 것을 보여 줍니다.
SELECT PRODUCT(UnitPrice) AS ProductOfPrices
FROM Purchasing.PurchaseOrderDetail
WHERE ModifiedDate <= '2002-05-24'
GROUP BY ProductId;
다음은 결과 집합의 일부입니다.
ProductOfPrices
----------
2526.2435
41.916
3251.9077
21656.2655
40703.3993
4785336.3939
11432159532.8367
5898056095.7678
B. OVER 절 사용
다음 예제에서는 OVER 절과 함께 PRODUCT 함수를 사용하여 가상의 금융 상품에 대한 수익률을 제공합니다. 데이터는 .에 의해 finInstrument
분할됩니다.
SELECT finInstrument,
PRODUCT(1 + rateOfReturn)
OVER (PARTITION BY finInstrument) AS CompoundedReturn
FROM (
VALUES (0.1626, 'instrumentA'),
(0.0483, 'instrumentB'),
(0.2689, 'instrumentC'),
(-0.1944, 'instrumentA'),
(0.2423, 'instrumentA'))
AS MyTable(rateOfReturn, finInstrument);
결과 집합은 다음과 같습니다.
finInstrument CompoundedReturn
------------- ---------------------------------------
instrumentA 1.163527
instrumentA 1.163527
instrumentA 1.163527
instrumentB 1.048300
instrumentC 1.268900