所以,這是我的資料示例:

本質上,我想對車輛緯度坐標進行排名(以查看最常見的停車地點)。但是,當我嘗試使用 rank() 視窗函式時:
RANK () OVER (PARTITION BY Vehicle_ID ORDER BY Latitude DESC) RANKINGS
但是,這假設緯度列是有序的,因此根據該列對它們進行排名(將最高緯度放置為 #1)。
我猜我需要先添加一個頻率列(我沒能做到)。一旦我知道了,我是否需要同時按緯度和車輛 ID 列進行磁區。
期望的輸出是在緯度旁邊有排名,按車輛 ID 分組
uj5u.com熱心網友回復:
可以添加額外的計數:
WITH cte AS (
SELECT *, COUNT(*) OVER(PARTITION BY Vehicle_Id, Latitude) AS cnt
FROM tab
)
SELECT *, RANK() OVER(PARTITION BY Vehicle_ID ORDER BY cnt DESC) AS RANKINGS
FROM cte;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/387410.html
下一篇:GROUPBY并添加計算百分比
