2012-04-19 2 views
0

다음 쿼리를 사용하여 5 개의 다른 검색 이름에 대한 가장 최근의 검색 날짜를 가져 오지만, 반환되는 데이터에는 검색 이름 중 가장 최근의 날짜 만 표시됩니다.SQL 쿼리 가장 최근의 검색 날짜

질의는 검색 이름 'fisma-mgmt'에 대해 4/18/12 인 가장 최근의 검색 날짜를 반환합니다. 4/17/12에 있었던 다른 4 개의 스캔 날짜는 표시되지 않습니다. 누구든지이 결과를 일으키는 것을 볼 수 있습니까?

서면으로
DENSE_RANK() OVER (PARTITION BY ScanName ORDER BY ScanDate DESC) AS Rnk 

는, 쿼리가 아니라 각각의 이름에 대한 가장 최근의 검사보다 전반적으로 가장 최근의 검사를 반환

SELECT 
ScanName, 
ScanDate, 
pspplMSSeverity, 
PatchMissing 

FROM 
(
SELECT 
ScanName, 
ScanDate, 
pspplMSSeverity, 
PatchMissing, 

DENSE_RANK() OVER (ORDER BY ScanDate DESC) AS Rnk 

FROM qryReportsPatchDeploymentPctbyPatch 

where (ScanName like '%fisma-front%' 
OR ScanName like '%fisma-back%' 
OR ScanName like '%fisma-app%' 
OR ScanName like '%fisma-meps%' 
OR ScanName like '%fisma-mgmt%') 


)t 
WHERE rnk=1 

답변

1

는 오, 윈도우 기능, 당신은 파티션 절을해야합니다.

+0

완벽하게 작동했습니다. 감사합니다. – Ben

관련 문제