나는 그렇게 단순한 것처럼 보이지만 구문을 이해할 수 없습니다. 나는 요금이 바뀐 날짜와 관련된 지불 비율 테이블과 직원 ID를 가지고있다. 직원 당 여러 기록.테이블에서 가장 최근의 임금 인상을 시도 중
나는 가장 최근 날짜와 그 날짜의 임금 목록을 얻으려고합니다. 나는 시도했다 : SELECT MAX (날짜), 비율, EmpID FROM 기록
그러나 작동하지 않는다. 그것은 각 지불 비율에 대한 기록을 반환하는 것 같습니다.
다른 사람들이 어떻게 효율적으로이를 수행 할 수 있습니까?
일반적으로 ROW_NUMBER()는 상관 집계 된 하위 쿼리보다 성능이 뛰어납니다. –
잘 작동합니다. 고맙습니다. 전에 ROW_NUMBER()를 사용한 적이 없습니다. 좋은 교훈은 "나를 해치지 않을지 모르지만 (더 어렵게 만들 것입니다") – beauk
내가 말해야 할 점은 하위 쿼리에서 MAX (날짜)와 함께 작동하도록 할 수 있었지만 엉망이 될만한 가치가 없다. ROW_NUMBER()를 사용하면 훨씬 좋습니다. 또한 나를 던지고 있던 부분은 날짜 필드가 varchar이므로이 솔루션이나 MAX() 하위 쿼리가 예상대로 작동하지 않았습니다. 일단 나는 그것을 잡았고 CAST ([날짜]를 datetime으로), 그것은 효과가 있었다. 게시하기 전에 해당 데이터 유형을 확인했다고 생각했지만 중복 확인을해야합니다. 내가 말했듯이, 미카엘 에릭슨의 제안은 훨씬 낫다. – beauk