STDEVP (SQL bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengembalikan simpangan baku statistik untuk populasi untuk semua nilai dalam ekspresi yang ditentukan.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

-- Aggregate Function Syntax   
STDEVP ( [ ALL | DISTINCT ] expression )  
  
-- Analytic Function Syntax   
STDEVP ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)  

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

ALL
Menerapkan fungsi ke semua nilai. ALL adalah default.

DISTINCT
Menentukan bahwa setiap nilai unik dipertimbangkan.

ekspresi
Adalah ekspresi numerik. Fungsi dan subkueri agregat tidak diizinkan. ekspresi adalah ekspresi dari kategori jenis data numerik atau perkiraan numerik yang tepat, kecuali untuk jenis data bit .

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause membagi tataan hasil yang dihasilkan oleh klausul FROM menjadi partisi tempat fungsi diterapkan. Jika tidak ditentukan, fungsi memperlakukan semua baris hasil kueri yang ditetapkan sebagai grup tunggal. order_by_clause menentukan urutan logis di mana operasi dilakukan. order_by_clause diperlukan. Untuk informasi selengkapnya, lihat Klausa OVER (Transact-SQL).

Jenis Pengembalian

Float

Keterangan

Jika STDEVP digunakan pada semua item dalam pernyataan SELECT, setiap nilai dalam tataan hasil disertakan dalam perhitungan. STDEVP hanya dapat digunakan dengan kolom numerik. Nilai null diabaikan.

STDEVP adalah fungsi deterministik ketika digunakan tanpa klausa OVER dan ORDER BY. Ini nondeterministik ketika ditentukan dengan klausa OVER dan ORDER BY. Untuk informasi selengkapnya, lihat Fungsi Deterministik dan Nondeterministik.

Contoh

A: Menggunakan STDEVP

Contoh berikut mengembalikan simpantan baku untuk populasi untuk semua nilai bonus dalam SalesPerson tabel dalam database AdventureWorks2012.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

B: Menggunakan STDEVP

Contoh berikut mengembalikan STDEVP nilai kuota penjualan dalam tabel dbo.FactSalesQuota. Kolom pertama berisi simpangan baku semua nilai yang berbeda dan kolom kedua berisi simpangan baku semua nilai termasuk nilai duplikat apa pun.

-- Uses AdventureWorks  
  
SELECT STDEVP(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEVP(SalesAmountQuota) AS All_Values  
FROM dbo.FactSalesQuota;SELECT STDEVP(DISTINCT Quantity)AS Distinct_Values, STDEVP(Quantity) AS All_Values  
FROM ProductInventory;  

Berikut adalah hasil yang ditetapkan.

Distinct_Values   All_Values  
----------------  ----------------  
397676.79         397226.44

C. Menggunakan STDEVP dengan OVER

Contoh berikut mengembalikan STDEVP nilai kuota penjualan untuk setiap kuartal dalam satu tahun kalender. Perhatikan bahwa ORDER BY dalam OVER klausul mengurutkan STDEVP dan ORDER BY pernyataan SELECT memerintahkan tataan hasil.

-- Uses AdventureWorks  
  
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,  
       STDEVP(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS StdDeviation  
FROM dbo.FactSalesQuota  
WHERE EmployeeKey = 272 AND CalendarYear = 2002  
ORDER BY CalendarQuarter;  

Berikut adalah hasil yang ditetapkan.

Year  Quarter  SalesQuota              StdDeviation  
----  -------  ----------------------  -------------------  
2002  1         91000.0000             0.00  
2002  2        140000.0000             24500.00  
2002  3         70000.0000             29329.55  
2002  4        154000.0000             34426.55

Lihat juga

Fungsi Agregat (T-SQL)
Klausul OVER (SQL Bertransaksi)