Sybase 12.7 パフォーマンス&チューニング・ガイド, 第 1 章 データベース・テーブルからのデータの選択, c_state, c_gender, c_education, count

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 31
Image 31
c_state

1 章 データベース・テーブルからのデータの選択

次のクエリは、GROUPING 関数を GROUP BY CUBE と組み合わせた使用例 です。

SELECT

CASE GROUPING ( state ) WHEN 1 THEN 'ALL' ELSE state END AS c_state,

CASE GROUPING ( gender ) WHEN 1 THEN 'ALL' ELSE gender END AS c_gender,

CASE GROUPING ( education ) WHEN 1 THEN 'ALL' ELSE education END AS c_education,

COUNT(*), CAST (ROUND ( AVG ( income ), 2 ) AS NUMERIC (18,2)) AS average

FROM census

GROUP BY CUBE (state, gender, education);

このクエリの結果は次のとおりです。CUBE が生成した小計ローを示す NULL 値が、クエリ内の指定によって小計ローで ALL に置き換わっています。

c_state

c_gender

c_education

count(*)

average

MA

f

BA

3

48333.33

MA

f

HS

2

40000.00

MA

f

MS

1

45000.00

MA

f

ALL

6

45000.00

MA

m

BA

4

55000.00

MA

m

HS

1

55000.00

MA

m

MS

3

85000.00

MA

m

ALL

8

66250.00

MA

ALL

ALL

14

57142.86

NH

f

HS

2

50000.00

NH

f

MS

1

85000.00

NH

f

ALL

3

61666.67

NH

m

BA

3

55000.00

NH

m

MS

1

49000.00

NH

m

ALL

4

53500.00

NH

ALL

ALL

7

57000.00

ALL

ALL

ALL

21

57095.24

ALL

ALL

BA

10

53000.00

ALL

ALL

MS

6

72333.33

ALL

ALL

HS

5

47000.00

ALL

f

ALL

9

50555.56

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

15

Page 31
Image 31
Sybase 12.7 manual パフォーマンス&チューニング・ガイド, 第 1 章 データベース・テーブルからのデータの選択, c_state, c_gender, c_education, count, average