Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Warehouse in Microsoft Fabric SQL
database in Microsoft Fabric
Fonksiyon, PRODUCT bir ifadedeki tüm değerlerin çarpımını veya sadece DISTINCT değerleri döndürür. Yalnızca sayısal sütunlarla kullanın. Null değerler yoksayılır.
Transact-SQL söz dizimi kuralları
Syntax
Toplam fonksiyon sözdizimi:
PRODUCT ( [ ALL | DISTINCT ] expression )
Analiz işlevinin söz dizimi:
PRODUCT ( [ ALL ] expression) OVER ( [ partition_by_clause ] [ order_by_clause ] )
Arguments
HEPSİ
Toplama işlevini tüm değerlere uygular.
ALL varsayılan değerdir.
BELİRGİN
Benzersiz değerlerin çarpımını döndürdüğünü belirtir PRODUCT .
expression
Sabit, sütun veya işlev ile aritmetik, bit düzeyinde ve dize işleçlerinin herhangi bir bileşimi. ifade , bit veri türü dışında tam sayısal veya yaklaşık sayısal veri türü kategorisinin ifadesidir. Toplama işlevlerine ve alt sorgulara izin verilmez. Daha fazla bilgi için bkz. İfadeler.
OVER ( [ partition_by_clause ] [ order_by_clause ] )
İşlev uygulanmadan önce satır kümesinin bölümlemesi ve sırasını belirler.
partition_by_clause yan tümcesi tarafından FROM üretilen sonuç kümesini işlevin uygulandığı bölümlere böler. Belirtilmezse, işlev sorgu sonuç kümesinin tüm satırlarını tek bir grup olarak ele alır.
order_by_clause işlemin gerçekleştirildiği mantıksal sırayı belirler. Daha fazla bilgi için bkz. SELECT - OVER yan tümcesi.
Dönüş türleri
En hassas ifade veri türündeki tüm ifade değerlerinin çarpımını döndürür.
| İfade sonucu | Dönüş türü |
|---|---|
| tinyint | int |
| smallint | int |
| int | int |
| bigint | bigint |
| ondalık kategori (p, s) |
Eğer s0ise, ondalık(38, 0) ise, aksi takdirde ondalık(38, 6) |
| para ve smallmoney kategorisi | money |
| float ve gerçek kategori | float |
Remarks
Azure SQL Managed Instance desteği PRODUCT Azure SQL Managed InstanceAUTD ile sınırlıdır.
PRODUCTve OVER yan tümceleri olmadan ORDER BY kullanıldığında belirleyici bir işlevdir. ve OVER yan tümceleriyle ORDER BY belirtildiğinde belirsiz değildir. Daha fazla bilgi için bkz. Deterministik ve deterministik olmayan fonksiyonlar.
Examples
Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.
A. Satırları birlikte çarpma
Aşağıdaki örnek bu fonksiyonu PRODUCT kullanır:
SELECT PRODUCT(UnitPrice) AS ProductOfPrices
FROM Purchasing.PurchaseOrderDetail
WHERE ModifiedDate <= '2023-05-24'
GROUP BY ProductId;
Sonuç kümesi aşağıdadır.
ProductOfPrices
----------
2526.2435
41.916
3251.9077
640559.8491
1469352.0378
222137708.073
11432159376.271
5898056028.2633
14030141.2883
2526.4194
B. OVER yan tümcesini kullanma
Aşağıdaki örnek, varsayımsal finansal araçlar için getiri oranı sağlamak için madde OVER ile fonksiyonu kullanırPRODUCT. Veriler tarafından finInstrumentbölümlenmiştir.
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);
Sonuç kümesi aşağıdadır.
finInstrument CompoundedReturn
------------- ---------------------------------------
instrumentA 1.163527
instrumentA 1.163527
instrumentA 1.163527
instrumentB 1.048300
instrumentC 1.268900