Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL仅对有序数据上的连续行排序_Postgresql_Rank_Dense Rank - Fatal编程技术网

PostgreSQL仅对有序数据上的连续行排序

PostgreSQL仅对有序数据上的连续行排序,postgresql,rank,dense-rank,Postgresql,Rank,Dense Rank,所以我遇到了这个有趣的问题,一开始它看起来很简单,使用一个简单的sql窗口函数。 但事实并非如此。任何只使用秩或稠密秩的解 基本上,我想分配排名的基础上汽油价格和生效日期。表结构及其数据如下所示 如果您希望这样的输出 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-0

所以我遇到了这个有趣的问题,一开始它看起来很简单,使用一个简单的sql窗口函数。 但事实并非如此。任何只使用秩或稠密秩的解

基本上,我想分配排名的基础上汽油价格和生效日期。表结构及其数据如下所示


如果您希望这样的输出

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;



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;



PostgreSQL的

编辑您的帖子并将数据写入文本。编辑帖子并将数据写入文本。