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

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

以下の文は、順序付き分析機能を指定した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