0
我有一個表,它存儲不同類別的userids和他們的點。用戶數量將不斷變化。點也將不斷變化(如在計算器中的點)。因此,登錄用戶將看到一個儀表盤,其中說明了3個類別中的每一個 - 您有850點,在您之前有950個用戶。這是我現在的查詢 -PostgreSQL排名和相關
WITH USERS AS (
SELECT COUNT(*) TOT
FROM user_pointS
)
SELECT ' You have ' || points_cat1 ||' points and there are '|| tot-rnk || ' ahead of you '
FROM (
SELECT ID,
points_cat1,
rank() OVER (ORDER BY points_cat1 DESC) AS RNK
FROM user_pointS
) AS RANKED,
USERS
WHERE ID = 10
有沒有更好的方法(性能方面)?我將不得不重複這3列?
外部select中的points_cat1,2,3應該是rnk,rnk1,rnk2。除此之外,這工作。謝謝。 – Jayadevan
@Jayadevan。 。 。文中說,你有很多關於排名的點。第二部分使用'rnk'變量。但是,這是你的問題,所以你可以放入你想要的東西。 –
當我使用查詢發佈時,我得到了錯誤:列「points_cat2」不存在 ,因爲我們沒有內部SELECT中的那列。所以我應該將這些列也添加到內部選擇。 – Jayadevan