You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CREATE TABLE `empsalary2` ( `depname` VARCHAR null, `empno` BIGINT null, `salary` INT null, `enroll_date` DATE null)
17
+
CREATE or replace TABLE `empsalary2` ( `depname` VARCHAR null, `empno` BIGINT null, `salary` INT null, `enroll_date` DATE null)
18
18
19
19
statement ok
20
20
INSERT INTO empsalary2 SELECT * FROM empsalary
@@ -48,7 +48,7 @@ SELECT enroll_date, empno, salary, sum(salary + 1) OVER (PARTITION BY enroll_dat
48
48
2008-01-01 9 4500 8702
49
49
50
50
query IIIRT
51
-
SELECT empno, empno % 2, salary, sum(salary + 1) OVER (PARTITION BY empno % 2 ORDER BY enroll_date + 1) as W, enroll_date FROM empsalary order by W
51
+
SELECT empno, empno % 2, salary, sum(salary + 1) OVER (PARTITION BY empno % 2 ORDER BY enroll_date + 1) as W, enroll_date FROM empsalary order by W, empno
52
52
----
53
53
1 1 5000 5001 2006-10-01
54
54
8 0 6000 6001 2006-10-01
@@ -62,105 +62,105 @@ SELECT empno, empno % 2, salary, sum(salary + 1) OVER (PARTITION BY empno % 2 OR
62
62
9 1 4500 27206 2008-01-01
63
63
64
64
query TII
65
-
select depname, sum(sum(salary) + 1) over (partition by 1 order by sum(salary)), sum(salary) from empsalary group by depname;
65
+
select depname, sum(sum(salary) + 1) over (partition by 1 order by sum(salary)) as w, sum(salary) from empsalary group by depname order by w;
66
66
----
67
67
personnel 7401 7400
68
68
sales 22002 14600
69
69
develop 47103 25100
70
70
71
71
# lag ignore default value
72
72
query II
73
-
SELECT salary, lag(salary + 1, 2) OVER (ORDER BY enroll_date) FROM empsalary
73
+
SELECT salary, lag(salary + 1, 2) OVER (ORDER BY enroll_date) as w FROM empsalary order by salary, w
74
74
----
75
-
5000 NULL
76
-
6000 NULL
75
+
3500 4801
77
76
3900 5001
78
-
5200 6001
77
+
4200 5201
78
+
4500 3501
79
79
4800 3901
80
80
4800 5201
81
+
5000 NULL
81
82
5200 4801
82
-
3500 4801
83
-
4200 5201
84
-
4500 3501
83
+
5200 6001
84
+
6000 NULL
85
85
86
86
# lag with constant default value
87
87
query II
88
-
SELECT salary, lag(salary + 1, 2, 888) OVER (ORDER BY enroll_date) FROM empsalary
88
+
SELECT salary, lag(salary + 1, 2, 888) OVER (ORDER BY enroll_date) as w FROM empsalary order by salary, w
89
89
----
90
-
5000 888
91
-
6000 888
90
+
3500 4801
92
91
3900 5001
93
-
5200 6001
92
+
4200 5201
93
+
4500 3501
94
94
4800 3901
95
95
4800 5201
96
+
5000 888
96
97
5200 4801
97
-
3500 4801
98
-
4200 5201
99
-
4500 3501
98
+
5200 6001
99
+
6000 888
100
100
101
101
# lag with column default value
102
102
query II
103
-
SELECT salary, lag(salary + 1, 2, salary + 2) OVER (ORDER BY enroll_date) FROM empsalary
103
+
SELECT salary, lag(salary + 1, 2, salary + 2) OVER (ORDER BY enroll_date) as w FROM empsalary order by salary, w
104
104
----
105
-
5000 5002
106
-
6000 6002
105
+
3500 4801
107
106
3900 5001
108
-
5200 6001
107
+
4200 5201
108
+
4500 3501
109
109
4800 3901
110
110
4800 5201
111
+
5000 5002
111
112
5200 4801
112
-
3500 4801
113
-
4200 5201
114
-
4500 3501
113
+
5200 6001
114
+
6000 6002
115
115
116
116
# lead ignore default value
117
117
query II
118
-
SELECT salary, lead(salary + 1, 2) OVER (ORDER BY enroll_date) FROM empsalary
118
+
SELECT salary, lead(salary + 1, 2) OVER (ORDER BY enroll_date) as w FROM empsalary order by salary, w
119
119
----
120
-
5000 3901
121
-
6000 5201
122
-
3900 4801
123
-
5200 4801
124
-
4800 5201
125
-
4800 3501
126
-
5200 4201
127
120
3500 4501
121
+
3900 4801
128
122
4200 NULL
129
123
4500 NULL
124
+
4800 3501
125
+
4800 5201
126
+
5000 3901
127
+
5200 4201
128
+
5200 4801
129
+
6000 5201
130
130
131
131
# lead with constant default value
132
132
query II
133
-
SELECT salary, lead(salary + 1, 2, 888) OVER (ORDER BY enroll_date) FROM empsalary
133
+
SELECT salary, lead(salary + 1, 2, 888) OVER (ORDER BY enroll_date) as w FROM empsalary order by salary, w
134
134
----
135
-
5000 3901
136
-
6000 5201
137
-
3900 4801
138
-
5200 4801
139
-
4800 5201
140
-
4800 3501
141
-
5200 4201
142
135
3500 4501
136
+
3900 4801
143
137
4200 888
144
138
4500 888
139
+
4800 3501
140
+
4800 5201
141
+
5000 3901
142
+
5200 4201
143
+
5200 4801
144
+
6000 5201
145
145
146
146
# lead with column default value
147
147
query II
148
-
SELECT salary, lead(salary + 1, 2, salary + 2) OVER (ORDER BY enroll_date) FROM empsalary
148
+
SELECT salary, lead(salary + 1, 2, salary + 2) OVER (ORDER BY enroll_date) w FROM empsalary order by salary, w
149
149
----
150
-
5000 3901
151
-
6000 5201
152
-
3900 4801
153
-
5200 4801
154
-
4800 5201
155
-
4800 3501
156
-
5200 4201
157
150
3500 4501
151
+
3900 4801
158
152
4200 4202
159
153
4500 4502
154
+
4800 3501
155
+
4800 5201
156
+
5000 3901
157
+
5200 4201
158
+
5200 4801
159
+
6000 5201
160
160
161
161
# lead with nullable column
162
162
query II
163
-
SELECT salary, lead(salary + 1, 2) OVER (ORDER BY enroll_date) c FROM empsalary2 ORDER BY salary desc
163
+
SELECT salary, lead(salary + 1, 2) OVER (ORDER BY enroll_date) c FROM empsalary2 ORDER BY salary desc, c desc
164
164
----
165
165
6000 5201
166
166
5200 4801
@@ -174,7 +174,7 @@ SELECT salary, lead(salary + 1, 2) OVER (ORDER BY enroll_date) c FROM empsalary2
174
174
3500 4501
175
175
176
176
query II
177
-
SELECT salary, lead(salary + 1, 2, salary + 2) OVER (ORDER BY enroll_date) c FROM empsalary2 ORDER BY salary desc
177
+
SELECT salary, lead(salary + 1, 2, salary + 2) OVER (ORDER BY enroll_date) c FROM empsalary2 ORDER BY salary desc, c desc
178
178
----
179
179
6000 5201
180
180
5200 4801
@@ -189,27 +189,27 @@ SELECT salary, lead(salary + 1, 2, salary + 2) OVER (ORDER BY enroll_date) c FRO
189
189
190
190
# first_value
191
191
query TII
192
-
SELECT enroll_date, salary, first_value(salary + 1) OVER (ORDER BY enroll_date) FROM empsalary
192
+
SELECT enroll_date, salary, first_value(salary + 1) OVER (ORDER BY enroll_date) FROM empsalary order by enroll_date, salary
193
193
----
194
194
2006-10-01 5000 5001
195
195
2006-10-01 6000 5001
196
196
2006-12-23 3900 5001
197
-
2007-08-01 5200 5001
198
197
2007-08-01 4800 5001
198
+
2007-08-01 5200 5001
199
199
2007-08-08 4800 5001
200
200
2007-08-15 5200 5001
201
201
2007-12-10 3500 5001
202
202
2008-01-01 4200 5001
203
203
2008-01-01 4500 5001
204
204
205
205
query TII
206
-
SELECT enroll_date, salary, first_value(salary + 1) OVER (ORDER BY enroll_date) FROM empsalary2
206
+
SELECT enroll_date, salary, first_value(salary + 1) OVER (ORDER BY enroll_date) FROM empsalary2 order by enroll_date, salary
207
207
----
208
208
2006-10-01 5000 5001
209
209
2006-10-01 6000 5001
210
210
2006-12-23 3900 5001
211
-
2007-08-01 5200 5001
212
211
2007-08-01 4800 5001
212
+
2007-08-01 5200 5001
213
213
2007-08-08 4800 5001
214
214
2007-08-15 5200 5001
215
215
2007-12-10 3500 5001
@@ -218,13 +218,13 @@ SELECT enroll_date, salary, first_value(salary + 1) OVER (ORDER BY enroll_date)
218
218
219
219
# last_value
220
220
query TII
221
-
SELECT enroll_date, salary, last_value(salary + 1) OVER (ORDER BY enroll_date) FROM empsalary
221
+
SELECT enroll_date, salary, last_value(salary + 1) OVER (ORDER BY enroll_date) FROM empsalary order by enroll_date, salary
222
222
----
223
223
2006-10-01 5000 6001
224
224
2006-10-01 6000 6001
225
225
2006-12-23 3900 3901
226
-
2007-08-01 5200 4801
227
226
2007-08-01 4800 4801
227
+
2007-08-01 5200 4801
228
228
2007-08-08 4800 4801
229
229
2007-08-15 5200 5201
230
230
2007-12-10 3500 3501
@@ -233,13 +233,13 @@ SELECT enroll_date, salary, last_value(salary + 1) OVER (ORDER BY enroll_date) F
233
233
234
234
# last_value
235
235
query TII
236
-
SELECT enroll_date, salary, last_value(salary + 1) OVER (ORDER BY enroll_date) FROM empsalary2
236
+
SELECT enroll_date, salary, last_value(salary + 1) OVER (ORDER BY enroll_date) FROM empsalary2 order by enroll_date, salary
Copy file name to clipboardExpand all lines: tests/sqllogictests/suites/query/window_function/window_ignore_nulls.test
+11-11Lines changed: 11 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@ statement ok
2
2
set max_block_size = 1;
3
3
4
4
statement ok
5
-
CREATE or replace TABLE issue2549 AS SELECT * FROM (VALUES
5
+
CREATE or replace TABLE default.issue2549 AS SELECT * FROM (VALUES
6
6
(0, 1, 614),
7
7
(1, 1, null),
8
8
(2, 1, null),
@@ -20,7 +20,7 @@ SELECT
20
20
ORDER BY id
21
21
ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
22
22
) AS last_order_id
23
-
FROM issue2549 order by 1,2,3,4
23
+
FROM default.issue2549 order by 1,2,3,4
24
24
----
25
25
0 1 614 NULL
26
26
1 1 NULL 614
@@ -38,7 +38,7 @@ SELECT
38
38
ORDER BY id
39
39
ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING
40
40
) AS last_order_id
41
-
FROM issue2549 order by 1,2,3,4
41
+
FROM default.issue2549 order by 1,2,3,4
42
42
----
43
43
0 1 614 614
44
44
1 1 NULL 614
@@ -56,7 +56,7 @@ SELECT
56
56
ORDER BY id
57
57
ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
58
58
) AS last_order_id
59
-
FROM issue2549 order by 1,2,3,4
59
+
FROM default.issue2549 order by 1,2,3,4
60
60
----
61
61
0 1 614 NULL
62
62
1 1 NULL NULL
@@ -69,7 +69,7 @@ statement ok
69
69
unset max_block_size;
70
70
71
71
statement ok
72
-
CREATE or replace TABLE issue2549 AS SELECT * FROM (VALUES
72
+
CREATE or replace TABLE default.issue2549 AS SELECT * FROM (VALUES
73
73
(0, 1, 614),
74
74
(1, 1, null),
75
75
(2, 1, null),
@@ -87,7 +87,7 @@ SELECT
87
87
ORDER BY id
88
88
ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
89
89
) AS last_order_id
90
-
FROM issue2549 order by 1,2,3,4
90
+
FROM default.issue2549 order by 1,2,3,4
91
91
----
92
92
0 1 614 NULL
93
93
1 1 NULL 614
@@ -105,7 +105,7 @@ SELECT
105
105
ORDER BY id
106
106
ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING
107
107
) AS last_order_id
108
-
FROM issue2549 order by 1,2,3,4
108
+
FROM default.issue2549 order by 1,2,3,4
109
109
----
110
110
0 1 614 614
111
111
1 1 NULL 614
@@ -123,7 +123,7 @@ SELECT
123
123
ORDER BY id
124
124
ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
125
125
) AS last_order_id
126
-
FROM issue2549 order by 1,2,3,4
126
+
FROM default.issue2549 order by 1,2,3,4
127
127
----
128
128
0 1 614 NULL
129
129
1 1 NULL NULL
@@ -132,10 +132,10 @@ FROM issue2549 order by 1,2,3,4
132
132
4 1 2027 639
133
133
134
134
statement error 1065
135
-
SELECT id, user_id, order_id, sum (order_id) IGNORE NULLS over ( PARTITION BY user_id ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ) AS last_order_id FROM issue2549
135
+
SELECT id, user_id, order_id, sum (order_id) IGNORE NULLS over ( PARTITION BY user_id ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ) AS last_order_id FROM default.issue2549
136
136
137
137
statement error 1065
138
-
SELECT id, user_id, order_id, lag(order_id, 1) IGNORE NULLS over ( PARTITION BY user_id ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ) AS last_order_id FROM issue2549
138
+
SELECT id, user_id, order_id, lag(order_id, 1) IGNORE NULLS over ( PARTITION BY user_id ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ) AS last_order_id FROM default.issue2549
Copy file name to clipboardExpand all lines: tests/sqllogictests/suites/query/window_function/window_wisconsin.test
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -145,7 +145,7 @@ SELECT ntile(5) OVER (ORDER BY ten, four) nn FROM tenk1 ORDER BY ten, four, nn
145
145
146
146
# cume_dist
147
147
query I
148
-
SELECT CAST(cume_dist() OVER (PARTITION BY four ORDER BY ten RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)*10 as INT) FROM tenk1 WHERE unique2 < 10 order by four, ten
148
+
SELECT CAST(cume_dist() OVER (PARTITION BY four ORDER BY ten)*10 as INT) FROM tenk1 WHERE unique2 < 10 order by four, ten
0 commit comments