你好吗?如何在teradata中使用Qualify row_number
我从来没有使用限定row_number()/ rank(),我有一些问题。
我在Teradata的尝试此查询:
select sit_site_id
, count(distinct shp_shipment_id)
from WHOWNER.BT_SHP_SHIPMENTS
group by sit_site_id
QUALIFY RANK() OVER (PARTITION BY sit_site_id
ORDER BY count(distinct shp_shipment_id)) = 3
但结果是:“在表中没有可用的数据”。
我想要得到更多shp_shipment_id的前3个sit_site_id值。
我的错误在哪里?
谢谢!
GROUP BY按每个site_id返回一行,然后尝试获取第三行,当然不返回任何行。你可能想要像'QUALIFY RANK()OVER( ORDER BY count(distinct shp_shipment_id))<= 3'这样的返回三个最高的计数。 – dnoeth
每个'shipment_id'你需要排名前3的'site_id'吗?请分享样本数据和期望的输出。 – zarruq