Sybase 12.7 manual このクエリの結果セットを次に示します。, Sybase IQ, ship date, Ship Dates

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 68
Image 68
ship_date

GROUP BY 句の拡張機能

Large

(NULL)

(NULL)

71

0

1

1

Large

Sweatshirt

(NULL)

71

0

0

1

Medium

(NULL)

(NULL)

134

0

1

1

Medium

Shorts

(NULL)

80

0

0

1

Medium

Tee Shirt

(NULL)

54

0

0

1

One size fits all

(NULL)

(NULL)

263

0

1

1

One size fits all

Baseball Cap

(NULL)

124

0

0

1

One size fits all

Tee Shirt

(NULL)

75

0

0

1

One size fits all

Visor

(NULL)

64

0

0

1

Small

(NULL)

(NULL)

28

0

1

1

Small

Tee Shirt

(NULL)

28

0

1

1

ROLLUP 3 次の例は、GROUPING を使用して、最初から格納されていた NULL 値と ROLLUP 操作によって生成された “NULL” 値とを区別する方法を 示しています。このクエリで指定されているとおり、最初から格納されていた NULL 値はカラム prod_id [NULL] として表示され、ROLLUP によって生成 された “NULL” 値はカラム PROD_IDS ALL に置き換えられます。

SELECT year(ship_date) AS Year, prod_id, SUM(quantity) AS OSum, CASE WHEN GROUPING(Year) = 1 THEN 'ALL' ELSE CAST(Year AS char(8)) END, CASE WHEN GROUPING(prod_id) = 1 THEN 'ALL' ELSE CAST(prod_id as char(8)) END

FROM alt_sales_order_items

GROUP BY ROLLUP(Year, prod_id) HAVING OSum > 36 ORDER BY Year, prod_id;

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

ship_date

prod_id

SUM

SHIP_DATES

PROD_IDS

---------

-------

---

----------

--------

NULL

NULL

28359

ALL

ALL

2000

NULL

17642

2000

ALL

2000

300

1476

2000

300

2000

301

1440

2000

301

2000

302

1152

2000

302

2000

400

1946

2000

400

2000

401

1596

2000

401

2000

500

1704

2000

500

2000

501

1572

2000

501

2000

600

2124

2000

600

2000

601

1932

2000

601

2000

700

2700

2000

700

2001

NULL

10717

2001

ALL

2001

300

888

2001

300

2001

301

948

2001

301

2001

302

996

2001

302

2001

400

1332

2001

400

2001

401

1105

2001

401

2001

500

948

2001

500

52

Sybase IQ

Page 68
Image 68
Sybase 12.7 manual このクエリの結果セットを次に示します。, Sybase IQ, ship date, Ship Dates