按 Teradata 中的分区划分 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
我在 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