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.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Kiszámít egy adott percentilist egy teljes sorkészlet rendezett értékeihez vagy egy sorkészlet különböző partícióihoz az SQL Serverben. Egy adott PPERCENTILE_DISC percentilisérték esetén a záradékban lévő kifejezésértékeket rendeziORDER BY. Ezután a legkisebb CUME_DIST megadott értékkel adja vissza (ugyanahhoz a rendezési specifikációhoz képest), amely nagyobb vagy egyenlő a P értéknél. Kiszámítja például PERCENTILE_DISC (0.5) egy kifejezés 50. percentilisét (vagyis mediánját).
PERCENTILE_DISC az oszlopértékek diszkrét eloszlása alapján számítja ki a percentilis értékét. Az eredmény egy adott oszlopértéknek felel meg.
Transact-SQL szintaxis konvenciók
Szemantika
PERCENTILE_DISC ( numeric_literal ) WITHIN GROUP ( ORDER BY order_by_expression [ ASC | DESC ] )
OVER ( [ <partition_by_clause> ] )
Arguments
betű szerinti
A kiszámítandó percentilis. Az értéknek 0,0 és 1,0 között kell lennie.
CSOPORTON BELÜL ( ORDER BY order_by_expression [ ASC | DESC ] )
Megadja a percentilis rendezésére és kiszámítására vonatkozó értékek listáját. Csak egy order_by_expression engedélyezett. Az alapértelmezett rendezési sorrend növekvő. Az értékek listája a rendezési művelethez érvényes adattípusok bármelyikét tartalmazhatja.
VÉGE ( <partition_by_clause> )
FROM A záradék eredményhalmazát partíciókra osztja. A percentilisfüggvény ezekre a partíciókra lesz alkalmazva. További információ: SELECT – OVER záradék. Az <ORDER BY záradék> és <a sorok vagy tartomány záradék>nem adható meg egy PERCENTILE_DISC függvényben.
Visszatérési típusok
A visszatérési típust a order_by_expression típus határozza meg.
Kompatibilitási támogatás
A 110-es és újabb WITHIN GROUP kompatibilitási szinten fenntartott kulcsszó. További információ: ALTER DATABASE kompatibilitási szint.
Megjegyzések
Az adathalmazban lévő null értékek figyelmen kívül lesznek hagyva.
PERCENTILE_DISC nemdeterminista. További információ: Determinisztikus és nemdeterminista függvények.
Példák
Példa alapszintű szintaxisra
Az alábbi példa az egyes részlegek medián alkalmazotti fizetését használja PERCENTILE_CONT és PERCENTILE_DISC keresi. Előfordulhat, hogy nem ugyanazt az értéket adja vissza:
-
PERCENTILE_CONTa megfelelő értéket adja vissza, még akkor is, ha az nem szerepel az adathalmazban. -
PERCENTILE_DISCegy tényleges beállított értéket ad vissza.
USE AdventureWorks2022;
SELECT DISTINCT Name AS DepartmentName,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ph.Rate) OVER (PARTITION BY Name) AS MedianCont,
PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY ph.Rate) OVER (PARTITION BY Name) AS MedianDisc
FROM HumanResources.Department AS d
INNER JOIN HumanResources.EmployeeDepartmentHistory AS dh
ON dh.DepartmentID = d.DepartmentID
INNER JOIN HumanResources.EmployeePayHistory AS ph
ON ph.BusinessEntityID = dh.BusinessEntityID
WHERE dh.EndDate IS NULL;
Íme egy részleges eredményhalmaz.
DepartmentName MedianCont MedianDisc
Document Control 16.8269 16.8269
Engineering 34.375 32.6923
Executive 54.32695 48.5577
Human Resources 17.427850 16.5865
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
Példa alapszintű szintaxisra
Az alábbi példa az egyes részlegek medián alkalmazotti fizetését használja PERCENTILE_CONT és PERCENTILE_DISC keresi. Előfordulhat, hogy nem ugyanazt az értéket adja vissza:
-
PERCENTILE_CONTa megfelelő értéket adja vissza, még akkor is, ha az nem szerepel az adathalmazban. -
PERCENTILE_DISCegy tényleges beállított értéket ad vissza.
-- Uses AdventureWorks
SELECT DISTINCT DepartmentName,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY BaseRate) OVER (PARTITION BY DepartmentName) AS MedianCont,
PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY BaseRate) OVER (PARTITION BY DepartmentName) AS MedianDisc
FROM dbo.DimEmployee;
Íme egy részleges eredményhalmaz.
DepartmentName MedianCont MedianDisc
-------------------- ---------- ----------
Document Control 16.826900 16.8269
Engineering 34.375000 32.6923
Human Resources 17.427850 16.5865
Shipping and Receiving 9.250000 9.0000