182 lines
3.4 KiB
SQL
182 lines
3.4 KiB
SQL
# name: test/sql/window/test_ntile.test
|
|
# description: Test NTile function
|
|
# group: [window]
|
|
|
|
statement ok
|
|
CREATE TABLE Scoreboard(TeamName VARCHAR, Player VARCHAR, Score INTEGER);
|
|
|
|
statement ok
|
|
INSERT INTO Scoreboard VALUES ('Mongrels', 'Apu', 350);
|
|
|
|
statement ok
|
|
INSERT INTO Scoreboard VALUES ('Mongrels', 'Ned', 666);
|
|
|
|
statement ok
|
|
INSERT INTO Scoreboard VALUES ('Mongrels', 'Meg', 1030);
|
|
|
|
statement ok
|
|
INSERT INTO Scoreboard VALUES ('Mongrels', 'Burns', 1270);
|
|
|
|
statement ok
|
|
INSERT INTO Scoreboard VALUES ('Simpsons', 'Homer', 1);
|
|
|
|
statement ok
|
|
INSERT INTO Scoreboard VALUES ('Simpsons', 'Lisa', 710);
|
|
|
|
statement ok
|
|
INSERT INTO Scoreboard VALUES ('Simpsons', 'Marge', 990);
|
|
|
|
statement ok
|
|
INSERT INTO Scoreboard VALUES ('Simpsons', 'Bart', 2010);
|
|
|
|
query IIII
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(2) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
Mongrels Apu 350 1
|
|
Mongrels Ned 666 1
|
|
Mongrels Meg 1030 2
|
|
Mongrels Burns 1270 2
|
|
Simpsons Homer 1 1
|
|
Simpsons Lisa 710 1
|
|
Simpsons Marge 990 2
|
|
Simpsons Bart 2010 2
|
|
|
|
query IIII
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(2) OVER (ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY Score;
|
|
----
|
|
Simpsons Homer 1 1
|
|
Mongrels Apu 350 1
|
|
Mongrels Ned 666 1
|
|
Simpsons Lisa 710 1
|
|
Simpsons Marge 990 2
|
|
Mongrels Meg 1030 2
|
|
Mongrels Burns 1270 2
|
|
Simpsons Bart 2010 2
|
|
|
|
query IIII
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(1000) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
Mongrels Apu 350 1
|
|
Mongrels Ned 666 2
|
|
Mongrels Meg 1030 3
|
|
Mongrels Burns 1270 4
|
|
Simpsons Homer 1 1
|
|
Simpsons Lisa 710 2
|
|
Simpsons Marge 990 3
|
|
Simpsons Bart 2010 4
|
|
|
|
query IIII
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(1) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
Mongrels Apu 350 1
|
|
Mongrels Ned 666 1
|
|
Mongrels Meg 1030 1
|
|
Mongrels Burns 1270 1
|
|
Simpsons Homer 1 1
|
|
Simpsons Lisa 710 1
|
|
Simpsons Marge 990 1
|
|
Simpsons Bart 2010 1
|
|
|
|
query IIII
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(NULL) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
Mongrels Apu 350 NULL
|
|
Mongrels Ned 666 NULL
|
|
Mongrels Meg 1030 NULL
|
|
Mongrels Burns 1270 NULL
|
|
Simpsons Homer 1 NULL
|
|
Simpsons Lisa 710 NULL
|
|
Simpsons Marge 990 NULL
|
|
Simpsons Bart 2010 NULL
|
|
|
|
# incorrect number of parameters for ntile
|
|
statement error
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE() OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
|
|
statement error
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(1,2) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
|
|
statement error
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(1,2,3) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
|
|
statement error
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(1,2,3,4) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
|
|
statement error
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(-1) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|
|
|
|
statement error
|
|
SELECT
|
|
TeamName,
|
|
Player,
|
|
Score,
|
|
NTILE(0) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE
|
|
FROM ScoreBoard s
|
|
ORDER BY TeamName, Score;
|
|
----
|