1create table t1 (
2  pk int primary key,
3  a int,
4  b int
5);
6
7
8insert into t1 values
9( 1 , 0, 10),
10( 2 , 0, 10),
11( 3 , 1, 10),
12( 4 , 1, 10),
13( 8 , 2, 10),
14( 5 , 2, 20),
15( 6 , 2, 20),
16( 7 , 2, 20),
17( 9 , 4, 20),
18(10 , 4, 20);
19
20select a,
21    percent_rank() over (order by a),
22    cume_dist() over (order by a)
23from t1;
24
25select pk,
26       percent_rank() over (order by pk),
27       cume_dist() over (order by pk)
28from t1 order by pk;
29
30select a,
31        percent_rank() over (partition by a order by a),
32        cume_dist() over (partition by a order by a)
33from t1;
34
35drop table t1;
36
37