oracle 百分位数
时间: 2023-07-01 16:28:22 浏览: 66
Oracle中可以使用PERCENTILE_CONT和PERCENTILE_DISC函数来计算百分位数。
PERCENTILE_CONT函数用于计算连续型分布的百分位数,语法如下:
```
PERCENTILE_CONT(percent) WITHIN GROUP (ORDER BY expr1 [ASC | DESC])
```
其中,percent表示需要计算的百分位数,取值范围为0到1;expr1表示需要排序的列。
例如,要计算一张表中salary列的中位数(即50%分位数),可以使用以下语句:
```
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY salary) FROM employee;
```
PERCENTILE_DISC函数用于计算离散型分布的百分位数,语法如下:
```
PERCENTILE_DISC(percent) WITHIN GROUP (ORDER BY expr1 [ASC | DESC])
```
其中,percent表示需要计算的百分位数,取值范围为0到1;expr1表示需要排序的列。
例如,要计算一张表中score列的四分位数(即25%、50%、75%分位数),可以使用以下语句:
```
SELECT PERCENTILE_DISC(0.25) WITHIN GROUP (ORDER BY score) "25%",
PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY score) "50%",
PERCENTILE_DISC(0.75) WITHIN GROUP (ORDER BY score) "75%"
FROM student;
```