17.10 - 順序付き分析関数の使用 - Advanced SQL Engine - Teradata Database

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

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

例: RANKおよびAVGの使用

順序付き分析関数であるRANKとAVGを使った以下のSELECT文の結果について考えてみます。

   SELECT item, smonth, sales, 
   RANK() OVER (PARTITION BY item ORDER BY sales DESC), 
   AVG(sales) OVER (PARTITION BY item 
                    ORDER BY smonth 
                    ROWS 3 PRECEDING)
   FROM sales_tbl
   ORDER BY item, smonth;

結果テーブルは、例えば以下のようなものになります。

Item SMonth sales Rank(Sales) Moving Avg(Sales)
A 1996-01 110 13 110
A 1996-02 130 10 120
A 1996-03 170 6 137
A 1996-04 210 3 155
A 1996-05 270 1 195
A 1996-06 250 2 225
A 1996-07 190 4 230
A 1996-08 180 5 222
A 1996-09 160 7 195
A 1996-10 140 9 168
A 1996-11 150 8 158
A 1996-12 120 11 142
A 1997-01 120 11 132
B 1996-02 30 5 30
..。 ..。 ..。 ..。 ..。