在 SQL 中,用于计算百分位数的函数是 PERCENTILE_CONT() 和 PERCENTILE_DISC()。
PERCENTILE_CONT() 函数用于计算连续型数据的百分位数,即在一个有序集合中,返回指定百分位数对应的值。语法如下:
PERCENTILE_CONT(percentage) WITHIN GROUP (ORDER BY column_name)
其中,percentage 是要计算的百分位数(范围为0到1),column_name 是要计算的列名。
举例来说,如果要计算某列中值的中位数(即百分位数为0.5),可以使用以下语句:
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY column_name) FROM table_name;
PERCENTILE_DISC() 函数用于计算离散型数据的百分位数,返回在有序集合中最接近指定百分位数的值。语法如下:
PERCENTILE_DISC(percentage) WITHIN GROUP (ORDER BY column_name)
其中,percentage 是要计算的百分位数(范围为0到1),column_name 是要计算的列名。
举例来说,如果要计算某列中最接近中位数的值(即百分位数为0.5),可以使用以下语句:
SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY column_name) FROM table_name;