STDEV (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Mengembalikan simpangan standar statistik dari semua nilai dalam ekspresi yang ditentukan.
Sintaks
-- Aggregate Function Syntax
STDEV ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
STDEV ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Argumen
ALL
Menerapkan fungsi ke semua nilai. ALL adalah default.
NYATA
Menentukan bahwa setiap nilai unik dipertimbangkan.
expression
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 tempat operasi dilakukan. order_by_clause diperlukan. Untuk informasi selengkapnya, lihat Klausul OVER (Transact-SQL).
Jenis Kembalian
float
Keterangan
Jika STDEV digunakan pada semua item dalam pernyataan SELECT, setiap nilai dalam tataan hasil disertakan dalam perhitungan. STDEV hanya dapat digunakan dengan kolom numerik. Nilai null diabaikan.
STDEV adalah fungsi deterministik ketika digunakan tanpa klausa OVER dan ORDER BY. Ini tidak deterministik ketika ditentukan dengan klausul OVER dan ORDER BY. Untuk informasi selengkapnya, lihat Fungsi Deterministik dan Nondeterministik.
Contoh
A: Menggunakan STDEV
Contoh berikut mengembalikan simpanpan standar untuk semua nilai bonus dalam SalesPerson
tabel dalam database AdventureWorks2022.
SELECT STDEV(Bonus)
FROM Sales.SalesPerson;
GO
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
B: Menggunakan STDEV
Contoh berikut mengembalikan simpangihan standar 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 STDEV(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEV(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Berikut set hasilnya.
Distinct_Values All_Values
---------------- ----------------
398974.27 398450.57
C. Menggunakan STDEV dengan OVER
Contoh berikut mengembalikan simpangihan standar nilai kuota penjualan untuk setiap kuartal dalam satu tahun kalender. Perhatikan bahwa ORDER BY dalam klausul OVER mengurutkan STDEV dan ORDER BY dari pernyataan SELECT mengurutkan tataan hasil.
-- Uses AdventureWorks
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,
STDEV(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS StdDeviation
FROM dbo.FactSalesQuota
WHERE EmployeeKey = 272 AND CalendarYear = 2002
ORDER BY CalendarQuarter;
Berikut set hasilnya.
Year Quarter SalesQuota StdDeviation
---- ------- ---------------------- -------------------
2002 1 91000.0000 null
2002 2 140000.0000 34648.23
2002 3 70000.0000 35921.21
2002 4 154000.0000 39752.36