SQL Server PERCENTILE_CONT() 函数使用指南

在 SQL Server 中,PERCENTILE_CONT() 函数是一种统计函数,用于计算指定百分位数所对应的值。它可以用来计算连续变量的中位数、四分位数等,也可以用来计算非连续变量的众数等。

语法

PERCENTILE_CONT() 函数的语法如下所示:

PERCENTILE_CONT ( percentile ) WITHIN GROUP (ORDER BY expression) OVER ( [partition_by_clause] )

其中,percentile 参数表示要计算的百分位数,范围在 0 到 1 之间;expression 参数表示要计算的值;partition_by_clause 表示可选的分区子句,用于对数据集进行分区。

使用场景

PERCENTILE_CONT() 函数通常用于以下场景:

  • 计算连续变量的中位数、四分位数等;
  • 计算非连续变量的众数等;
  • 在数据分析和报表制作等场景中,用于对数据集进行统计分析。

示例

下面将介绍两个使用 PERCENTILE_CONT() 函数的示例。

示例 1

假设有一个员工表,其中包含员工的编号、姓名和薪水等信息。我们想要计算该表中薪水的中位数。可以使用以下 SQL 语句:

SELECT
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY salary) OVER () AS median_salary
FROM
  employees

执行以上 SQL 语句后,会得到以下结果:

median_salary
5000

示例 2

假设有一个销售表,其中包含销售单号、销售日期和销售金额等信息。我们想要计算该表中销售金额的 75% 百分位数。可以使用以下 SQL 语句:

SELECT
  PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY sales_amount) OVER () AS p75_sales_amount
FROM
  sales

执行以上 SQL 语句后,会得到以下结果:

p75_sales_amount
4500

结论

PERCENTILE_CONT() 函数是一种用于计算指定百分位数所对应的值的统计函数,可以用来计算连续变量的中位数、四分位数等,也可以用来计算非连续变量的众数等。通过使用 PERCENTILE_CONT() 函数,我们可以更加方便地进行数据分析和报表制作等工作。