가장 친한 친구,별개 결과에 대한 SQL 쿼리 최근순에 의한 쿼리
약간의 날짜 범위별로 고유 한 클라이언트 목록을 몇 개 가져와야 할 필요가 있으며 100 % 확실하지 않습니다. 그것에 대해 어떻게 가야하는지.
목록 1 :
내가 가장 최근의 EditDate 오늘과 이상과 같은 5 세되는과 (ClientNum) 구분해야합니다.
목록 2 :
내가 4 살 오늘 5 년 사이 가장 최근 EditDate 된 오늘 (ClientNum) 구분해야합니다.
목록 3 :
내가 3 세 오늘 4 세 사이의 가장 최근의 EditDate 된 오늘 (ClientNum) 구분해야합니다.
이제 다음과 같은 결과를 얻었고, 내가 얻고 있어야한다고 생각하는 것을 얻는 지 알 수 없습니다.
목록 1 조회 :
SELECT DISTINCT(ClientNum)
FROM Table
WHERE EditDate < DATEADD(year,-5,GETDATE())
목록이 검색어 :
SELECT DISTINCT(ClientNum)
FROM Table
WHERE EditDate BETWEEN DATEADD(year,-5,GETDATE()) AND DATEADD(year,-4,GETDATE())
목록이 조회 :
SELECT DISTINCT(ClientNum)
FROM Table
WHERE EditDate BETWEEN DATEADD(year,-4,GETDATE()) AND DATEADD(year,-3,GETDATE())
이가요 이것에 대해 올바른 방법? 또는 나는 무엇인가 놓치고 있냐?
알려 주시기 바랍니다.
-Nick
DISTINCT NOT 함수이다. 선택한 모든 열에서 작동합니다. (column)은 column뿐입니다 ... GROUP BY와 집계 함수 MAX를 합쳐보세요. – jarlh
동일한 WHERE 절을 사용하여 max (editDate), min (EditDate)를 선택하여 확인할 수 있습니다. ... DISTINCT 주변의()를 건너 뜁니다. – idstam