阅读下一条记录?

时间:2016-06-27 16:42:41

标签: sql-server sql-server-2012 record next

我们在MS SQL-Server 2012上。用户想知道患者下一次入院时间是否因任何原因少于30天。不必被同一个提供者看到

我不知道如何读取下一条记录,如果MRN ID相同,则计算您所在记录与下一条记录之间的天数差异。

例如:

Record 1 : MRNID =33 Discharge date = 1/1/2016  
Record 2 : MRNID = 33 Admission date = 2/2/2016  

MRNID是一样的,所以我算了。然后我将记录2与记录3进行比较并执行相同的过程。

1 个答案:

答案 0 :(得分:2)

使用Lead()窗口功能

select mrnid, 
       admission_date, 
       discharge_date, 
       lead(admission_date) over (partition by mrnid order by admission_date) next_date
  from table;

SAMPLE OUTPUT

mnrid   admission_date  lead(admission_date)
33  2016-01-01  2016-01-02
33  2016-01-02  2016-01-03
33  2016-01-03  2016-01-04
33  2016-01-04  null
34  2016-01-01  2016-01-02
34  2016-01-02  2016-01-03
34  2016-01-03  2016-01-04
34  2016-01-04  null