Postgresql-选择相应的lead列
我可以通过使用找到每行的lead status datePostgresql-选择相应的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
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) ;