/*
PERCENTILE_DISC() function will takes a parameter, which indicates the offset and it should be between 0 and 1.
Suppose, in a group of values 10,20,30,40,50,60 PERCENTILE_DISC() function will returns any value between 10 and 50.
This value will be calculated based on interpolation, at given offset position.
*/
DECLARE @T TABLE
(
GroupID INT,
Number INT
)
INSERT INTO @T (GroupID,Number)
VALUES (1,10),(1,20),(1,30),(1,50),(1,60)
SELECT GroupID,Number,
PERCENTILE_DISC(0.4) WITHIN GROUP (ORDER BY Number)
OVER (PARTITION BY GroupID) AS [InterpolatedAt0.4],
PERCENTILE_DISC(0.8) WITHIN GROUP (ORDER BY Number)
OVER (PARTITION BY GroupID) AS [InterpolatedAt0.8]
FROM @T
PERCENTILE_DISC() function will takes a parameter, which indicates the offset and it should be between 0 and 1.
Suppose, in a group of values 10,20,30,40,50,60 PERCENTILE_DISC() function will returns any value between 10 and 50.
This value will be calculated based on interpolation, at given offset position.
*/
DECLARE @T TABLE
(
GroupID INT,
Number INT
)
INSERT INTO @T (GroupID,Number)
VALUES (1,10),(1,20),(1,30),(1,50),(1,60)
SELECT GroupID,Number,
PERCENTILE_DISC(0.4) WITHIN GROUP (ORDER BY Number)
OVER (PARTITION BY GroupID) AS [InterpolatedAt0.4],
PERCENTILE_DISC(0.8) WITHIN GROUP (ORDER BY Number)
OVER (PARTITION BY GroupID) AS [InterpolatedAt0.8]
FROM @T
No comments:
Post a Comment