0
所以我遇到了這個有趣的問題,起初看起來很簡單,首先使用一個簡單的SQL窗口函數。 但事實並非如此。任何只使用排名或密集排名的解決方案?PostgreSQL僅在有序數據上排列連續行
基本上我想根據汽油價格和日期生效分配排名。表結構及其數據如下。
所以我遇到了這個有趣的問題,起初看起來很簡單,首先使用一個簡單的SQL窗口函數。 但事實並非如此。任何只使用排名或密集排名的解決方案?PostgreSQL僅在有序數據上排列連續行
基本上我想根據汽油價格和日期生效分配排名。表結構及其數據如下。
如果你期待這樣
price dte rn
----- ---------- --
65.5 2013-06-01 1
66.3 2014-06-01 1
66.3 2015-12-01 2
67 2012-01-01 1
67 2012-06-01 2
67 2013-01-01 3
67 2014-01-01 4
67 2016-01-01 5
輸出查詢應該是
select *
,row_number() over(partition by price order by dte) rn
from price;
OR
SELECT *
,rank() OVER (PARTITION BY price ORDER BY dte) rn
FROM price;
PostgreSQL的Window functions
編輯您的文章並將您的數據寫入文本。 – Dmitry