Je essaie de limiter le nombre de lignes par cas à seulement 5 lignes. Certains cas ont seulement 1 ou 2 lignes, mais d'autres en ont 15 ou plus.
Ceci est un exemple d'une procédure stockée que j'utilise pour compter le nombre de lignes par cas.
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)
Voici une capture d'écran de ce que cette procédure stockée produit: capture d'écran
J'ai essayé d'utiliser la clause where mais elle ne me permet pas de placer une fonction de fenêtre après la clause where. Elle ne reconnaît pas non plus mon alias "Row".
Y a-t-il un autre moyen de compter le nombre de lignes par cas (au lieu d'une fonction de fenêtre) pour que je puisse utiliser la clause where? Ou existe-t-il un moyen de limiter les enregistrements par cas à 5 en utilisant ma procédure stockée existante?
Merci d'avance pour votre aide.