例: RANK関数およびQUALIFY句を使用したサブクエリー - Teradata Database - Teradata Vantage NewSQL Engine - 例: RANK関数およびQUALIFY句を使用したサブクエリー

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

以下の例では、入れ子になったRANK機能とQUALIFY句を使用して、利益率が上位100位の項目と総収入がトップの項目をレポートします。これは、OUTER JOINを使って両方のリストに表示される項目と一致します。

     SELECT *
     FROM (SELECT item, profit, RANK(profit) AS profit_rank
           FROM item, sales
           QUALIFY profit_rank <= 100 AS p)
     FULL OUTER JOIN
          (SELECT item, revenue, RANK(revenue) AS revenue_rank
           FROM item, sales
           QUALIFY revenue_rank <= 100 AS r)
     ON p.item = r.item;

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

item

----

profit

------

profitrank

----------

item

----

revenue

-------

revenuerank

-----------

Dress slacks 17804 74 Dress slacks 180211 56
Dress shirts 16319 68 ? ? ?
Dresses 55888 82 Dresses 652312 77
Blouses 9849 48 Blouses 771849 92
? ? ? Skirts 817811 55