按 T​​eradata 中的分区划分 SQL

Deciling by partitions in Teradata SQL

我在 Teradata 中有一个 table,其中包含每个地区每个商店的销售信息。

StoreID RegionID Sales
1        A       200
2        A       150
3        A       210
4        B       400
5        B       420

如何找出每个地区销售额排名前 2 的商店?

QUANTILE 功能,但这是旧的 deprecated syntax。前 2 个十分位数是前 20%,您可以为此简单地使用 PERCENT_RANK

QUALIFY
   PERCENT_RANK()
   OVER (PARTITION BY RegionID
         ORDER BY Sales DESC) <= 0.2