1
在以下数据中,resno是居民号码。我试图找到第一行中有“R”的居民的人数(当数据按'Sort'desc排序时),第1行和第2行中的日期差异为30天。如何在两行中找到日期差异
cono resno date seq sort admit_disch
140 9423 2013-12-12 00:00:00.000 255003 255003 R
140 9423 2013-11-17 00:00:00.000 255002 255002 D
140 9423 2013-11-12 00:00:00.000 255001 255001 R
140 9423 2011-06-06 00:00:00.000 255000 255000 D
140 9423 2011-05-18 00:00:00.000 254999 254999 A
140 9604 2012-02-20 00:00:00.000 255548 255548 A
我能写一个查询来获得'R'居民,但不知道如何检查两个不同行的日期。在上述数据中,必须检查日期2013-12-12是否大于2013-11-17 30天以上。
select cono,COUNT(resno) from
(
select ROW_NUMBER() over(partition by resno rsa.sort desc) rn,*
from ri_status_admit rsa
)B
where B.rn = 1
and B.admit_disch = 'R'
group by cono,resno