一.百分位计算说明
二.sql代码实现
注:数据学生表中有一列是成绩列,求所有学生成绩的90百分位数:
表名字:TableStu
列名字:ColumnSource
--创建学生表
CREATE TABLE TableStu ( ID VARCHAR2 ( 10 ), source VARCHAR2 ( 100 ) );
--插入数据
INSERT INTO TableStu ( ID, source )
VALUES
( '1', '12' );
INSERT INTO TableStu ( ID, source )
VALUES
( '2', '13' );
INSERT INTO TableStu ( ID, source )
VALUES
( '3', '14' );
--查询90百分位成绩
SELECT--X(s) + X(s+1)-X(s))*(K - S)
(
REGEXP_SUBSTR( res.val, '[^,]+', 1, 1, 'i' ) + (
REGEXP_SUBSTR( res.val, '[^,]+', 1, 2, 'i' ) - REGEXP_SUBSTR( res.val, '[^,]+', 1, 1, 'i' )) * ( res.floatK - res.intS )) AS 九十百分位
FROM
(
SELECT
floatK, trun