Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              van toepassing op: SQL Server 2022 (16.x) 
Azure SQL Database
Azure SQL Managed Instance
SQL Analytics-eindpunt in Microsoft Fabric
Warehouse in Microsoft Fabric
Deze functie retourneert een geschatte geïnterpoleerde waarde uit de set waarden in een groep op basis van percentielwaarde en sorteerspecificatie. Omdat dit een geschatte functie is, bevindt de uitvoer zich binnen ranggebaseerde fout die met een bepaald vertrouwen is gebonden. De percentielwaarde die door deze functie wordt geretourneerd, is gebaseerd op een continue verdeling van de kolomwaarden en het resultaat wordt geïnterpoleerd. Hierdoor is de uitvoer mogelijk niet een van de waarden in de gegevensset. Een van de veelvoorkomende gebruiksvoorbeelden voor deze functie is om de uitbijters van gegevens te voorkomen. Deze functie kan worden gebruikt als alternatief voor PERCENTILE_CONT voor grote gegevenssets waarbij een verwaarloosbare fout met een snellere reactie acceptabel is in vergelijking met een nauwkeurige percentielwaarde met een trage reactietijd.
              
              
              Transact-SQL syntaxis-conventies
Syntaxis
APPROX_PERCENTILE_CONT (numeric_literal)
WITHIN GROUP (ORDER BY order_by_expression [ASC|DESC]) 
Argumentatie
numeric_literal
Het percentiel dat moet worden berekend. De waarde moet variëren tussen 0,0 en 1,0.
order_by_expression
Hiermee geeft u een lijst met numerieke waarden om het percentiel te sorteren en te berekenen. Er is slechts één order_by_expression toegestaan. De standaardsorteerdervolgorde is oplopend (ASC). De expressie moet een exacte of geschatte numerieke waarde evalueren, zonder dat er andere gegevenstypen zijn toegestaan. Exacte numerieke typen zijn int, bigint, smallint, smallint, tinyint, numeriek, bit, decimale, smallmoney en geld. Numerieke typen zijn bij benadering zwevend en reëel.
Retourtypen
drijvend(53)
Opmerkingen
Null-waarden in de gegevensset worden genegeerd.
Bij benadering van percentielfuncties wordt KLL-schets gebruikt. De schets is gebouwd door de gegevensstroom te lezen. Vanwege het gebruikte algoritme vereist deze functie minder geheugen dan de niet-geschatte tegenhanger (PERCENTILE_CONT).
Deze functie biedt op rang gebaseerde foutgaranties die niet op waarde zijn gebaseerd. De functie-implementatie garandeert een fout van maximaal 1,33%.
Bekend gedrag
- De uitvoer van de functie is mogelijk niet hetzelfde in alle uitvoeringen. Het algoritme dat voor deze functies wordt gebruikt, is een KLL-schets die een willekeurig algoritme is. Telkens wanneer de schets wordt gemaakt, worden willekeurige waarden gekozen. Deze functies bieden foutgaranties op basis van classificaties, niet op basis van waarde.
 - De functie-implementatie garandeert maximaal 1,33% foutgrenzen binnen een betrouwbaarheid van 99%.
 
Compatibiliteitsondersteuning
Onder compatibiliteitsniveau 110 en hoger is WITHIN GROUP een gereserveerd trefwoord. Zie ALTER DATABASE Compatibility Level (Transact-SQL) voor meer informatie.
Voorbeelden
In het volgende voorbeeld wordt een tabel gemaakt, gevuld en een voorbeeldquery uitgevoerd.
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;