2
케이스 당 행 수를 5 행으로 제한하려고합니다. 일부 경우에는 1 ~ 2 개의 행이 있지만 일부에는 15 개 이상의 행이 있습니다.ID 당 행 수 제한
이것은 사례 당 행 수를 계산하는 데 사용하는 저장 프로 시저의 예입니다. 여기
SELECT ROW_NUMBER() OVER(partition by rce.reportruncaseid ORDER BY rce.Reportruncaseid) AS Row, rce.ReportRunCaseId AS CaseId, YEAR(rce.EcoDate) AS EcoYear
FROM PhdRpt.ReportCaseList AS rcl INNER JOIN
PhdRpt.RptCaseEco AS rce ON rce.ReportId = rcl.ReportId AND rce.ReportRunCaseId = rcl.ReportRunCaseId
GROUP BY rce.ReportId, rce.ReportRunCaseId, YEAR(rce.EcoDate)
Order by rce.ReportRunCaseId, YEAR(rce.EcoDate)
이 저장 프로 시저가 생성하는 어떤의 스크린 샷이다 : 나는 where 절을 사용하는 것을 시도했다
screenshot
하지만 그것은 나를 where 절 이후에 윈도우 함수를 배치 할 수 없습니다. 또한 "행"별명을 인식하지 못합니다.
Where 절을 사용할 수 있도록 (윈도우 함수 대신에) 케이스 당 숫자 또는 행을 세는 다른 방법이 있습니까? 또는 기존 저장된 프로 시저를 사용하여 사례 당 레코드 수를 5 개로 제한하는 방법이 있습니까?
도움을 주셔서 감사합니다.
고맙습니다. 이것은 완벽하게 작동합니다. 열을 더 추가해야하는 경우 첫 번째 SELECT 문 또는 두 번째 SELECT 문에 열을 추가할까요? –
'CTE' 절 안에 추가해야합니다. 외부 진술에 대한 기록은 'CTE'를 기반으로합니다. –
우수. 다시 한 번 감사드립니다! –