Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre: SQL Server 2022 (16.x)
Azure SQL Database
Azure SQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric SQL
database in Microsoft Fabric
Ez a függvény hozzávetőleges interpolált értéket ad vissza egy csoport értékeinek készletéből a percentilisérték és a rendezési specifikáció alapján. Mivel ez egy hozzávetőleges függvény, a kimenet egy bizonyos megbízhatósággal kötött rangsoralapú hibán belül lenne. A függvény által visszaadott percentilisérték az oszlopértékek folyamatos eloszlásán alapul, és az eredmény interpolálva lesz. Emiatt előfordulhat, hogy a kimenet nem az adathalmaz egyik értéke. A függvény egyik gyakori használati esete az adat-kiugró értékek elkerülése. Ez a függvény a nagy adathalmazok PERCENTILE_CONT alternatívaként használható, ahol a gyors válaszidővel rendelkező, elhanyagolható hiba elfogadható a lassú válaszidővel rendelkező pontos percentilisértékhez képest.
Transact-SQL szintaxis konvenciók
Szemantika
APPROX_PERCENTILE_CONT (numeric_literal)
WITHIN GROUP (ORDER BY order_by_expression [ASC|DESC])
érvelés
numeric_literal
A kiszámítandó percentilis. Az értéknek 0,0 és 1,0 között kell lennie.
order_by_expression
Numerikus értékek listáját adja meg a percentilis rendezéséhez és kiszámításához. Csak egy order_by_expression engedélyezett. Az alapértelmezett rendezési sorrend növekvő (ASC). A kifejezésnek pontos vagy hozzávetőleges numerikus típusra kell kiértékelnie, más adattípusok nem engedélyezettek. A pontos numerikus típusok a következők: int, bigint, smallint, tinyint, numerikus, bit, decimális, kismérték és pénz. A közelítő numerikus típusok lebegőpontosak és valósak.
Visszatérési típusok
float(53)
Megjegyzések
Az adathalmazban lévő null értékek figyelmen kívül lesznek hagyva.
A hozzávetőleges percentilisfüggvények KLL-vázlatot használnak. A vázlat az adatstream olvasásával készült. A használt algoritmus miatt ez a függvény kevesebb memóriát igényel, mint a nem hozzávetőleges megfelelője (PERCENTILE_CONT).
Ez a függvény rangalapú hibagaranciát biztosít, nem értékalapú. A függvény implementációja legfeljebb 1,33% hibát garantál.
Ismert viselkedések
- Előfordulhat, hogy a függvény kimenete nem azonos az összes végrehajtásban. Ezekhez a függvényekhez használt algoritmus a KLL-vázlat , amely egy véletlenszerű algoritmus. A vázlat készítésekor a rendszer véletlenszerű értékeket választ ki. Ezek a függvények rangalapú hibagaranciát biztosítanak, nem értékalapúak.
- A függvény implementációja legfeljebb 1,33% hibahatárt garantál egy 99% megbízhatóságon belül.
Kompatibilitási támogatás
A 110-es és újabb kompatibilitási szinten a WITHIN GROUP egy fenntartott kulcsszó. További információ: ALTER DATABASE kompatibilitási szint (Transact-SQL).
Példák
Az alábbi példa létrehoz egy táblát, kitölti és végrehajt egy minta lekérdezést.
SET NOCOUNT ON
GO
DROP TABLE IF EXISTS tblEmployee;
GO
CREATE TABLE tblEmployee (
EmplId INT IDENTITY(1,1) PRIMARY KEY CLUSTERED,
DeptId INT,
Salary int);
GO
INSERT INTO tblEmployee
VALUES (1, 31),(1, 33), (1, 18), (2, 25),(2, 35),(2, 10), (2, 10),(3,
1), (3,NULL), (4,NULL), (4,NULL);
GO
SELECT DeptId,
APPROX_PERCENTILE_CONT(0.10) WITHIN GROUP(ORDER BY Salary) AS 'P10',
APPROX_PERCENTILE_CONT(0.90) WITHIN GROUP(ORDER BY Salary) AS 'P90'
FROM tblEmployee
GROUP BY DeptId;