Sybase 12.7 manual 例:Row のデフォルトのウィンドウ・フレーム, 例:Unbounded Preceding と Unbounded Following, Sybase IQ

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 112
Image 112
例:ROW のデフォルトのウィンドウ・フレーム

その他の OLAP の例

例:ROW のデフォルトのウィンドウ・フレーム

このクエリは、ROW のデフォルトのウィンドウ・フレームの例を示しています。

SELECT prod_id, month_num, sales, SUM(sales) OVER (PARTITION BY prod_id ORDER BY month_num RANGE BETWEEN 1 FOLLOWING AND 3 FOLLOWING)

FROM sale

ORDER BY prod_id, month_num;

このクエリの結果セットを次に示します。

prod_id

month_num

sales

sum(sales)

-------

---------

-----

----------

10

1

100

350

10

1

150

350

10

2

120

381

10

3

100

391

10

4

130

261

10

5

120

110

10

5

31

110

10

6

110

(NULL)

20

1

20

85

20

2

30

86

20

3

25

81

20

4

30

51

20

5

31

20

20

6

20

(NULL)

30

1

10

25

30

2

11

14

30

3

12

2

30

4

1

NULL)

30

4

1

(NULL)

例:UNBOUNDED PRECEDING UNBOUNDED FOLLOWING

この例では、パーティション内のすべてのローがウィンドウ・フレームに含ま れます。このクエリは、パーティション全体 ( 各月に重複ローは含まれていま せん ) における売上の最大値を計算します。

SELECT prod_id, month_num, sales, SUM(sales) OVER (PARTITION BY prod_id ORDER BY month_num ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)

FROM sale WHERE rep_id = 1 ORDER BY prod_id, month_num;

このクエリの結果セットを次に示します。

prod_id

month_num

sales

max(sales)

-------

---------

-----

----------

10

1

100

680

10

2

120

680

10

3

100

680

10

4

130

680

96

Sybase IQ

Page 112
Image 112
Sybase 12.7 例:Row のデフォルトのウィンドウ・フレーム, 例:Unbounded Preceding と Unbounded Following, Sybase IQ, その他の Olap の例, prod_id, sales