# SQL Server skewness function

SKEW_q

Updated: 6 August 2010

Use SKEW_q to return the degree of asymmetry of a distribution. If the distribution has a longer tail less than the maximum, the function has negative skewness. Otherwise it has positive skewness. The equation for skewness is:

Syntax
SELECT [wctStatistics].[wct].[SKEW_q] (
<@Values_RangeQuery, nvarchar(4000),>)
Arguments
@Values_RangeQuery
the select statement, as text, used to determine the values to be used in the SKEW_q calculation.
Return Types
float
Remarks
·         If there are fewer than three rows in the dataset, then SKEW_q returns an error.
·         If the sample standard deviation is zero, then SKEW_q returns an error.
·         For simpler queries use SKEW.
·         No GROUP BY is required for this function even though it produces aggregated results.
Examples
CREATE TABLE #k1(
[num] [float] NOT NULL
)
INSERT INTO #k1 VALUES (91.3698)
INSERT INTO #k1 VALUES (76.3382)
INSERT INTO #k1 VALUES (74.5692)
INSERT INTO #k1 VALUES (85.2957)
INSERT INTO #k1 VALUES (99.0112)
INSERT INTO #k1 VALUES (86.99)
INSERT INTO #k1 VALUES (70.7837)
INSERT INTO #k1 VALUES (72.834)
INSERT INTO #k1 VALUES (78.1644)
INSERT INTO #k1 VALUES (77.7472)
INSERT INTO #k1 VALUES (66.0627)
INSERT INTO #k1 VALUES (59.781)
INSERT INTO #k1 VALUES (68.4793)
INSERT INTO #k1 VALUES (78.6103)
INSERT INTO #k1 VALUES (59.8621)

select wct.SKEW_q('Select num from #k1')

This produces the following result

----------------------
0.363338937261944

(1 row(s) affected)