4

OLAP の使用

10

1

150

250

250

 

10

2

120

370

370

 

10

3

100

470

370

 

10

4

130

350

350

 

10

5

120

381

350

 

10

5

31

381

281

 

10

6

110

391

261

 

20

1

20

20

20

 

20

2

30

50

50

 

20

3

25

75

75

 

20

4

30

85

85

 

20

5

31

86

86

 

20

6

20

81

81

 

30

1

10

10

10

 

30

2

11

21

21

 

30

3

12

33

33

 

30

4

1

25

24

 

30

4

1

25

14

 

例:現在のローを除外するウィンドウ・フレーム

この例では、現在のローを除外するウィンドウ・フレームを定義しています。 このクエリは、現在のローを除く 4 つのローの合計を計算します。

SELECT prod_id, month_num, sales, sum(sales) OVER (PARTITION BY prod_id ORDER BY month_num RANGE BETWEEN 6 PRECEDING AND 2 PRECEDING)

FROM sale

ORDER BY prod_id, month_num;

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

prod_id

month_num

sales

sum(sales)

-------

---------

-----

----------

10

1

100

(NULL)

10

1

150

(NULL)

10

2

120

(NULL)

10

3

100

250

10

4

130

370

10

5

120

470

10

5

31

470

10

6

110

600

20

1

20

(NULL)

20

2

30

(NULL)

20

3

25

20

20

4

30

50

20

5

31

75

20

6

20

105

30

1

10

(NULL)

30

2

11

(NULL)

30

3

12

10

30

4

1

21

30

4

1

21

パフォーマンス&チューニング・ガイド

95

Page 111
Image 111
Sybase 12.7 manual 例:現在のローを除外するウィンドウ・フレーム, パフォーマンス&チューニング・ガイド, 第 4 章, prod_id, month_num, sumsales