SQL Server 2008 R2를 사용하고 있습니다. 내 관리 스튜디오 WORK
에 테이블이 있습니다. 이 표에있는 각 직원의 상위 3 개 레코드를 가져 오려고합니다. 이 테이블에는 기본 키 workID
과 외래 키 employeeiD
이 있습니다. 표는 날짜별로 내림차순으로 정렬됩니다. 다른 테이블에 조인 할 필요가 없습니다. 현재 employeeID
에 대한 상위 3 개 레코드 만 가져옵니다. 다음은 예제 쿼리입니다.고유 ID가있는 중복 레코드에서 상위 3 개 레코드 가져 오기
SELECT
wtop.workid, wtop.employeeid
FROM
work wtop
WHERE
wtop.employeeid IN (SELECT TOP 3 wsub.employeeid
FROM work wsub
WHERE wsub.employeeid = wtop.employeeid
ORDER BY wsub.employeeid)
같은
는뭔가 쿼리가 expectedresults를 반환하지 않습니다 –
를 직면하고있는 문제. 테이블의 각 employeeID에 대해 상위 3 개 레코드를 가져 오려고합니다. 나는 count()와 group by을 시도하고있다. – MartinZPetrov