SQL Server를 사용하는 경우의 질문입니다. 이 일을하는보다 우아한 방법이 있습니까? 테이블 mytable
고려SQL Server는 최신 레코드가 조건과 일치하는 레코드를 반환합니다.
나는 Foreign_ID
을 추출하고자하는
ID Foreign_ID Date
-------------------------
1 1 01-Jul-15
2 2 01-Sep-16
3 3 05-Aug-16
4 2 01-Sep-15
(I 유닉스 타임 스탬프를 사용하고, 내가 읽기 쉽게 읽을 수있는 날짜에이 변환 한) 여기서 가장 최근 레코드의 (최고 ID) 일이 예입니다 범위에 1 년 1 월 2016 타임 스탬프에 대한 날짜를 대체하면 다음 작품 12월 31일 2016 년이다 :
select distinct
Foreign_ID
from
mytable l1
where
(select top 1 Date
from mytable l2
where l2.Foreign_ID = l1.Foreign_ID
order by ID desc) >= **1 Jan 2016**
and
(select top 1 Date
from mytable l2
where l2.Foreign_ID = l1.Foreign_ID
order by ID desc) <= **31 Dec 2016**
만 Foreign_ID = 3
을 반환해야 함. 이
이 더 큰 쿼리
사용중인 SQLServer 버전에 태그를 지정하십시오. – TheGameiswar