16.20 - 例: EXPAND ON関数およびOLAP関数 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)

この例では、OLAP機能も指定するSELECT文でのEXPAND ON句の使用方法を示します。この場合、指定されたOLAP機能はRANKです。RANK機能の詳細については、<Teradata Vantage™ SQL関数、式、および述部、B035-1145>を参照してください。

まず、以下のようにplayer_historyテーブルを作成します。

     CREATE SET TABLE player_history (
       player_id INTEGER,	
       duration  PERIOD(DATE),
       grade     CHARACTER(1))
     PRIMARY INDEX (player_id);

player_historyテーブルには、以下の行が含まれます。

player_id Duration grade
1000 2007-06-03, 2007-07-03 A
1000 2007-07-03, 2007-08-03 B
1000 2007-08-03, 2007-09-03 C
1001 2007-07-03, 2007-08-03 A
1001 2007-08-03, 2007-09-03 D
1001 2007-09-03, 2007-10-03 E

次のSELECT文は、選択リスト内でRANK OLAP機能を指定します。

     SELECT playerid, BEGIN(expd), RANK(grade ASC) AS a, grade
     FROM player_history
     WHERE player_id = 1000 QUALIFY a < 3
     EXPAND ON duration AS expd BY ANCHOR MONDAY;

この問合わせは、以下のような応答セットを返します。

player_id BEGIN(expd) a grade
1000 2007-06-04 1 A
1000 2007-06-11 1 A
1000 2007-06-18 1 A
1000 2007-06-25 1 A
1000 2007-07-02 1 A
1000 2007-07-09 2 B
1000 2007-07-16 2 B
1000 2007-07-23 2 B
1000 2007-07-30 2 B