blob: e905a2ba9fed5e88ca817926e167d42548273c6e [file] [log] [blame]
DESCRIBE FUNCTION rank;
DESCRIBE FUNCTION EXTENDED rank;
DESCRIBE FUNCTION dense_rank;
DESCRIBE FUNCTION EXTENDED dense_rank;
DESCRIBE FUNCTION percent_rank;
DESCRIBE FUNCTION EXTENDED percent_rank;
DESCRIBE FUNCTION cume_dist;
DESCRIBE FUNCTION EXTENDED cume_dist;
CREATE TABLE t_test (
col1 int,
col2 int
);
INSERT INTO t_test VALUES
(NULL, NULL),
(3, 0),
(5, 1),
(5, 1),
(5, 2),
(5, 3),
(10, 20.0),
(NULL, NULL),
(NULL, NULL),
(11, 10.0),
(15, 7.0),
(15, 15.0),
(15, 16.0),
(8, 8.0),
(7, 7.0),
(8, 8.0),
(NULL, NULL);
set hive.map.aggr = false;
set hive.groupby.skewindata = false;
select
rank(1) WITHIN GROUP (ORDER BY col1),
rank(2) WITHIN GROUP (ORDER BY col1),
rank(3) WITHIN GROUP (ORDER BY col1),
rank(4) WITHIN GROUP (ORDER BY col1),
rank(5) WITHIN GROUP (ORDER BY col1),
rank(6) WITHIN GROUP (ORDER BY col1),
rank(7) WITHIN GROUP (ORDER BY col1),
rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
rank(4) WITHIN GROUP (ORDER BY col1 nulls first),
rank(4) WITHIN GROUP (ORDER BY col1 nulls last),
rank(4) WITHIN GROUP (ORDER BY col1 desc),
rank(4) WITHIN GROUP (ORDER BY col1 desc nulls first),
rank(4) WITHIN GROUP (ORDER BY col1 desc nulls last)
from t_test;
select
rank(1, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(2, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(3, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(4, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(5, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(6, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(7, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(8, 3) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
select
dense_rank(1) WITHIN GROUP (ORDER BY col1),
dense_rank(2) WITHIN GROUP (ORDER BY col1),
dense_rank(3) WITHIN GROUP (ORDER BY col1),
dense_rank(4) WITHIN GROUP (ORDER BY col1),
dense_rank(5) WITHIN GROUP (ORDER BY col1),
dense_rank(6) WITHIN GROUP (ORDER BY col1),
dense_rank(7) WITHIN GROUP (ORDER BY col1),
dense_rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
dense_rank(1, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(2, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(3, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(4, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(5, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(6, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(7, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(8, 1) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
select
percent_rank(1) WITHIN GROUP (ORDER BY col1),
percent_rank(2) WITHIN GROUP (ORDER BY col1),
percent_rank(3) WITHIN GROUP (ORDER BY col1),
percent_rank(4) WITHIN GROUP (ORDER BY col1),
percent_rank(5) WITHIN GROUP (ORDER BY col1),
percent_rank(6) WITHIN GROUP (ORDER BY col1),
percent_rank(7) WITHIN GROUP (ORDER BY col1),
percent_rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
cume_dist(7) WITHIN GROUP (ORDER BY col1),
cume_dist(2) WITHIN GROUP (ORDER BY col1),
cume_dist(3) WITHIN GROUP (ORDER BY col1),
cume_dist(4) WITHIN GROUP (ORDER BY col1),
cume_dist(5) WITHIN GROUP (ORDER BY col1),
cume_dist(6) WITHIN GROUP (ORDER BY col1),
cume_dist(7) WITHIN GROUP (ORDER BY col1),
cume_dist(8) WITHIN GROUP (ORDER BY col1)
from t_test;
set hive.map.aggr = true;
set hive.groupby.skewindata = false;
select
rank(1) WITHIN GROUP (ORDER BY col1),
rank(2) WITHIN GROUP (ORDER BY col1),
rank(3) WITHIN GROUP (ORDER BY col1),
rank(4) WITHIN GROUP (ORDER BY col1),
rank(5) WITHIN GROUP (ORDER BY col1),
rank(6) WITHIN GROUP (ORDER BY col1),
rank(7) WITHIN GROUP (ORDER BY col1),
rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
rank(1, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(2, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(3, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(4, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(5, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(6, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(7, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(8, 3) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
select
dense_rank(1) WITHIN GROUP (ORDER BY col1),
dense_rank(2) WITHIN GROUP (ORDER BY col1),
dense_rank(3) WITHIN GROUP (ORDER BY col1),
dense_rank(4) WITHIN GROUP (ORDER BY col1),
dense_rank(5) WITHIN GROUP (ORDER BY col1),
dense_rank(6) WITHIN GROUP (ORDER BY col1),
dense_rank(7) WITHIN GROUP (ORDER BY col1),
dense_rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
dense_rank(1, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(2, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(3, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(4, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(5, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(6, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(7, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(8, 1) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
select
percent_rank(1) WITHIN GROUP (ORDER BY col1),
percent_rank(2) WITHIN GROUP (ORDER BY col1),
percent_rank(3) WITHIN GROUP (ORDER BY col1),
percent_rank(4) WITHIN GROUP (ORDER BY col1),
percent_rank(5) WITHIN GROUP (ORDER BY col1),
percent_rank(6) WITHIN GROUP (ORDER BY col1),
percent_rank(7) WITHIN GROUP (ORDER BY col1),
percent_rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
cume_dist(7) WITHIN GROUP (ORDER BY col1),
cume_dist(2) WITHIN GROUP (ORDER BY col1),
cume_dist(3) WITHIN GROUP (ORDER BY col1),
cume_dist(4) WITHIN GROUP (ORDER BY col1),
cume_dist(5) WITHIN GROUP (ORDER BY col1),
cume_dist(6) WITHIN GROUP (ORDER BY col1),
cume_dist(7) WITHIN GROUP (ORDER BY col1),
cume_dist(8) WITHIN GROUP (ORDER BY col1)
from t_test;
set hive.map.aggr = false;
set hive.groupby.skewindata = true;
select
rank(1) WITHIN GROUP (ORDER BY col1),
rank(2) WITHIN GROUP (ORDER BY col1),
rank(3) WITHIN GROUP (ORDER BY col1),
rank(4) WITHIN GROUP (ORDER BY col1),
rank(5) WITHIN GROUP (ORDER BY col1),
rank(6) WITHIN GROUP (ORDER BY col1),
rank(7) WITHIN GROUP (ORDER BY col1),
rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
rank(1, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(2, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(3, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(4, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(5, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(6, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(7, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(8, 3) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
select
dense_rank(1) WITHIN GROUP (ORDER BY col1),
dense_rank(2) WITHIN GROUP (ORDER BY col1),
dense_rank(3) WITHIN GROUP (ORDER BY col1),
dense_rank(4) WITHIN GROUP (ORDER BY col1),
dense_rank(5) WITHIN GROUP (ORDER BY col1),
dense_rank(6) WITHIN GROUP (ORDER BY col1),
dense_rank(7) WITHIN GROUP (ORDER BY col1),
dense_rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
dense_rank(1, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(2, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(3, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(4, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(5, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(6, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(7, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(8, 1) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
select
percent_rank(1) WITHIN GROUP (ORDER BY col1),
percent_rank(2) WITHIN GROUP (ORDER BY col1),
percent_rank(3) WITHIN GROUP (ORDER BY col1),
percent_rank(4) WITHIN GROUP (ORDER BY col1),
percent_rank(5) WITHIN GROUP (ORDER BY col1),
percent_rank(6) WITHIN GROUP (ORDER BY col1),
percent_rank(7) WITHIN GROUP (ORDER BY col1),
percent_rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
cume_dist(7) WITHIN GROUP (ORDER BY col1),
cume_dist(2) WITHIN GROUP (ORDER BY col1),
cume_dist(3) WITHIN GROUP (ORDER BY col1),
cume_dist(4) WITHIN GROUP (ORDER BY col1),
cume_dist(5) WITHIN GROUP (ORDER BY col1),
cume_dist(6) WITHIN GROUP (ORDER BY col1),
cume_dist(7) WITHIN GROUP (ORDER BY col1),
cume_dist(8) WITHIN GROUP (ORDER BY col1)
from t_test;
set hive.map.aggr = true;
set hive.groupby.skewindata = true;
select
rank(1) WITHIN GROUP (ORDER BY col1),
rank(2) WITHIN GROUP (ORDER BY col1),
rank(3) WITHIN GROUP (ORDER BY col1),
rank(4) WITHIN GROUP (ORDER BY col1),
rank(5) WITHIN GROUP (ORDER BY col1),
rank(6) WITHIN GROUP (ORDER BY col1),
rank(7) WITHIN GROUP (ORDER BY col1),
rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
rank(1, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(2, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(3, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(4, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(5, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(6, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(7, 3) WITHIN GROUP (ORDER BY col1, col2),
rank(8, 3) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
select
dense_rank(1) WITHIN GROUP (ORDER BY col1),
dense_rank(2) WITHIN GROUP (ORDER BY col1),
dense_rank(3) WITHIN GROUP (ORDER BY col1),
dense_rank(4) WITHIN GROUP (ORDER BY col1),
dense_rank(5) WITHIN GROUP (ORDER BY col1),
dense_rank(6) WITHIN GROUP (ORDER BY col1),
dense_rank(7) WITHIN GROUP (ORDER BY col1),
dense_rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
dense_rank(1, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(2, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(3, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(4, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(5, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(6, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(7, 1) WITHIN GROUP (ORDER BY col1, col2),
dense_rank(8, 1) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
select
percent_rank(1) WITHIN GROUP (ORDER BY col1),
percent_rank(2) WITHIN GROUP (ORDER BY col1),
percent_rank(3) WITHIN GROUP (ORDER BY col1),
percent_rank(4) WITHIN GROUP (ORDER BY col1),
percent_rank(5) WITHIN GROUP (ORDER BY col1),
percent_rank(6) WITHIN GROUP (ORDER BY col1),
percent_rank(7) WITHIN GROUP (ORDER BY col1),
percent_rank(8) WITHIN GROUP (ORDER BY col1)
from t_test;
select
cume_dist(7) WITHIN GROUP (ORDER BY col1),
cume_dist(2) WITHIN GROUP (ORDER BY col1),
cume_dist(3) WITHIN GROUP (ORDER BY col1),
cume_dist(4) WITHIN GROUP (ORDER BY col1),
cume_dist(5) WITHIN GROUP (ORDER BY col1),
cume_dist(6) WITHIN GROUP (ORDER BY col1),
cume_dist(7) WITHIN GROUP (ORDER BY col1),
cume_dist(8) WITHIN GROUP (ORDER BY col1)
from t_test;
set hive.cbo.enable=false;
select
cume_dist(7) WITHIN GROUP (ORDER BY col1),
dense_rank(2, 1) WITHIN GROUP (ORDER BY col1, col2)
from t_test;
DROP TABLE t_test;