17.05 - 例: 順序付き分析関数を使用したGROUP BYの指定 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

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

以下の文は、順序付き分析機能を指定したGROUP BY句を指定して、この機能が次のグループ化の新しい値をリセットおよび計算するレポートの分岐点を作成します。

この例では、すべての商品を店舗ごとの利益率単位でパーセントにグループ化してから、関心のある商品(この場合は、店舗ごとに最もパーセントが低い商品)だけを返します。

     SELECT store, item, profit, QUANTILE(100, profit) AS percentile
     FROM (SELECT items.item, SUM(sales) -
                  (COUNT(sales)*items.item_cost) AS profit
           FROM daily_sales, items
           WHERE daily_sales.item = items.item
           GROUP BY items.item,items.itemcost) AS item_profit
     GROUP BY store, item, profit, percentile
     QUALIFY percentile = 99;

この問合わせの結果は、以下のテーブルのようになります。

store
-----
item
----
profit
------
percentile
----------
Eastside
Golf balls
    100.19
99
Westside
Tennis balls
   -110.00
99
Central
Bowling balls
   -986.81
99
South
Codfish balls
- 1,891.89
99
North
Bocce balls
  1,180.88
99