aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/udfs/common/top/test/cases/Window.sql
blob: 657f765fa99c1da1cdf20782aa5d3fbc71095447 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* syntax version 1 */
USE plato;

$src = [
 <|x:1,  idx:1|>,
 <|x:7,  idx:2|>,
 <|x:5,  idx:3|>,
 <|x:4,  idx:4|>,
 <|x:3,  idx:5|>,
 <|x:11, idx:6|>,
 <|x:2,  idx:7|>,
 <|x:11, idx:8|>,
 <|x:0,  idx:9|>,
 <|x:6,  idx:10|>,
];

INSERT INTO @src
SELECT * FROM AS_TABLE($src) ORDER BY idx;

COMMIT;

SELECT idx, x, TOP(x, 3)    OVER (ORDER BY idx ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as upcr_top FROM @src ORDER BY idx;
SELECT idx, x, TOP(x, 3)    OVER ()                                                              as upuf_top FROM @src ORDER BY idx;
SELECT idx, x, TOP(x, 3)    OVER (ORDER BY idx ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) as cruf_top FROM @src ORDER BY idx;
SELECT idx, x, TOP(x, 3)    OVER (ORDER BY idx ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING)         as cr22_top FROM @src ORDER BY idx;

SELECT idx, x, BOTTOM(x, 3) OVER (ORDER BY idx ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as upcr_bottom FROM @src ORDER BY idx;
SELECT idx, x, BOTTOM(x, 3) OVER ()                                                              as upuf_bottom FROM @src ORDER BY idx;
SELECT idx, x, BOTTOM(x, 3) OVER (ORDER BY idx ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) as cruf_bottom FROM @src ORDER BY idx;
SELECT idx, x, BOTTOM(x, 3) OVER (ORDER BY idx ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING)         as cr22_botto FROM @src ORDER BY idx;