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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.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