Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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-选择相应的lead列_Sql_Postgresql - Fatal编程技术网

Postgresql-选择相应的lead列

Postgresql-选择相应的lead列,sql,postgresql,Sql,Postgresql,我可以通过使用找到每行的lead status date select lead(status_date) OVER(ORDER BY dept_id, status_date, id) as "lead_date" from my_table 如何按照与潜在客户状态日期相同的顺序获取相应的潜在客户状态 id, dept_id, status, statud_date --------------------------------- 1 001 OPEN 1/1/2017

我可以通过使用找到每行的lead status date

select lead(status_date) OVER(ORDER BY dept_id, status_date, id) as "lead_date" from my_table
如何按照与潜在客户状态日期相同的顺序获取相应的潜在客户状态

id, dept_id, status, statud_date
---------------------------------
1   001      OPEN    1/1/2017
2   001      ACTIVE  2/2/2017
3   002      CLOSED  1/15/2017

将参数更改为
lead()

通常,我希望按部门列出状态,因此我认为这是您想要的:

select lead(status_date) OVER (partition by dept_id ORDER BY status_date, id) as next_status_date,
       lead(status) OVER (partition by dept_id ORDER BY status_date, id) as next_status      
from my_table;
当多个窗口规范使用同一子句时,可以指定该子句一次:

select lead(status_date) over w as next_status_date,
       lead(status) over w as next_status      
from my_table
window w as (partition by dept_id order by status_date, id) ;

使用
status
列上的
lead
select lead(status_date) over w as next_status_date,
       lead(status) over w as next_status      
from my_table
window w as (partition by dept_id order by status_date, id) ;