Oracle的四分位数函数
CREATE TABLE palan.quartitles_test(
age VARCHAR(255)
);
INSERT INTO palan.quartitles_test VALUES('6');
INSERT INTO palan.quartitles_test VALUES('7');
INSERT INTO palan.quartitles_test VALUES('8');
INSERT INTO palan.quartitles_test VALUES('9');
INSERT INTO palan.quartitles_test VALUES('10');
INSERT INTO palan.quartitles_test VALUES('11');
COMMIT;
SELECT * FROM palan.quartitles_test;
SELECT
PERCENTILE_DISC(0.25) WITHIN GROUP(ORDER BY t.age ASC) P25,
PERCENTILE_DISC(0.5) WITHIN GROUP( ORDER BY t.age ASC) P50,
PERCENTILE_DISC(0.75) WITHIN GROUP( ORDER BY t.age ASC) P75
FROM palan.quartitles_test t;
SELECT
PERCENTILE_DISC(0.25) WITHIN GROUP(ORDER BY to_number(t.age) ASC) P25,
PERCENTILE_DISC(0.5) WITHIN GROUP( ORDER BY to_number(t.age) ASC) P50,
PERCENTILE_DISC(0.75) WITHIN GROUP( ORDER BY to_number(t.age) ASC) P75
FROM palan.quartitles_test t;
SELECT
PERCENTILE_CONT(0.25) WITHIN GROUP(ORDER BY TO_NUMBER(t.age) ASC) P25,
PERCENTILE_CONT(0.5) WITHIN GROUP( ORDER BY TO_NUMBER(t.age) ASC) P50,
PERCENTILE_CONT(0.75) WITHIN GROUP( ORDER BY TO_NUMBER(t.age) ASC) P75
FROM palan.quartitles_test t;
四分位数
四分位数是把数列分成四等份的数值:
把所有数值从小到大排列
把数列分割成四等份
在"分割点"位置的数值就是四分位数
例子:5、7、4、4、6、2、8
从小到大排列:2、4、4、5、6、7、8
分割成四等份:
2、4、4、5、6、7、8 的四分位数
首先确定四分位数的位置:
Q1的位置= (n+1) × 0.25
Q2的位置= (n+1) × 0.5 --Q2又称中位数,等于该样本中所有数据有小到大排列后第50%数据。
Q3的位置= (n+1) × 0.75
结果是:
第一四分位数(Q1) = 4
第二四分位数(Q2),也是中位数, = 5
第三四分位数(Q3) = 7
中位数
1、奇数个数据的中位数是排序后“最中间”的那个数据。
【例1】1,5,3,4,2.
解析:把上面这组数据排序:1,2,3,4,5.显然,这组数据的最中间的数是“3”。所以,这组数据的中位数是“3”。
【例2】1,1,5,3,3。
解析:把上面这组数据排序:1,1,3,3,5.显然,这组数据最中间的数是“3”。所以,这组数据的中位数是“3”。
【注】奇数个数据的中位数一般都是这组数据中的某个数据。
|