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