0
저는 한 달 같은 특정 시간 간격 동안 각 카테고리에 대해 가장 높은 숫자를 가진 상위 5 개의 행을 얻으려고합니다. 내가 현재 가지고있는 것은 카테고리에 대해 정확히 같은 설명 5 개를 반환합니다. 나는 톱 5를 얻으려고 노력하고있다. 이것은 기간을 기준으로 정렬하려고 할 때만 발생합니다.SQL 사용 월별 범주 별 상위 5 개를 찾으려면 어떻게해야합니까?
WITH CustomerRank
AS
(SELECT
Count(*) AS "Count",
d.Item,
d.Description,
Name,
i.Type,
d.CreatedOn
FROM [dbo].i,
d,
dbo.b,
as,
a,
c
WHERE d.Inspection_Id = i.Id AND d.Inspection_Id = i.Id AND
b.Id = i.BuildingPart_Id AND b.as= Assessments.Id
AND as.Application_Id = a.Id AND a.Customer_Id = Customers.Id
group by d.Item, d.Description, Name, i.Type, d.CreatedOn
)
select * from (
SELECT "Count",Item,Description,Type,ROW_NUMBER() Over (PARTITION BY Name order by "Count" desc) AS RowNum, Name, CreatedOn
FROM CustomerRank
where CreatedOn > '2017-1-1 00:00:00'
) s where RowNum <6
건배
감사합니다. 내일 다시 너에게 갈거야. – stacka
나는 그것을 작동시킬 수 있었다. CreatedOn Thingy에 대해 설명해 주셔서 감사합니다. – stacka