次の例は、販売地域ごとに売上げに基づいて販売担当者を順位付けします。
SELECT sales_person, sales_region, sales_amount, RANK() OVER (PARTITION BY sales_region ORDER BY sales_amount DESC) FROM sales_table;
| sales_person | sales_region | sales_amount | Rank(sales_amount) |
|---|---|---|---|
| Garabaldi | East | 100 | 1 |
| Baker | East | 99 | 2 |
| Fine | East | 89 | 3 |
| Adams | East | 75 | 4 |
| Edwards | West | 100 | 1 |
| Connors | West | 99 | 2 |
| Davis | West | 99 | 2 |
上記のテーブルのrank列では、PARTITION BY句で指定した列(sales_region)ごとに、販売担当者が売上げ高の降順でリストアップされており、sales_regionが変わると、売上げの順位(sales_amount)がリセットされます。