你好嗎?如何在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