17.10 - 例: 各パーティションの行数の表示 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1145-171K-JPN
Language
日本語 (日本)

以下の例は、CASE_N式を使ってordersテーブルがパーティション化された場合の各パーティションの行カウントを示します。

   CREATE TABLE orders 
    (orderkey INTEGER NOT NULL
    ,custkey INTEGER
    ,orderdate DATE FORMAT 'yyyy-mm-dd' NOT NULL)
    PRIMARY INDEX (orderkey);
   
   INSERT INTO orders (1, 1, '1996-01-01');
   INSERT INTO orders (2, 1, '1997-04-01');
   

次のSELECT文のCASE_N式は、3つの条件式とNO CASE条件を指定します。

   SELECT COUNT(*), 
          CASE_N(orderdate >= '1996-01-01' AND
                 orderdate <= '1996-12-31' AND
                 custkey <> 999999,
                 orderdate >= '1997-01-01' AND
                 orderdate <= '1997-12-31' AND
                 custkey <> 999999,
                 orderdate >= '1998-01-01' AND
                 orderdate <= '1998-12-31' AND
                 custkey <> 999999,
                 NO CASE
          ) AS Partition_Number
   FROM orders 
   GROUP BY Partition_Number 
   ORDER BY Partition_Number;

結果は次のようになります。

      Count(*)  Partition_Number
   -----------  ----------------
             1                 1
             1                 2