Я пытаюсь получить ранжированный список Top 5
(т. Е. Наиболее распространенных) заголовков документов, сгруппированных по десятилетию, для каждого из 6 последних десятилетий.
Заголовки документов не уникальны . В каждом календарном году могут быть десятки или даже сотни документов с одинаковым названием.
Насколько я смог найти, следующий запрос go. Он дает мне 5 лучших титулов, но только для «всех остальных» Десятилетия.
Как мне изменить запрос, чтобы получить 5 лучших титулов для каждого из других десятилетий?
SELECT
Top 5 documentTitle AS 'Title',
RANK() OVER (PARTITION BY calendarYear ORDER BY COUNT(documentTitle) DESC) AS Rank,
COUNT(tblDocumentFact.inventionTitleEnID) AS 'Number of Occurrences',
CASE
WHEN calendarYear BETWEEN 2010 AND 2019 THEN '2010 - 2019'
WHEN calendarYear BETWEEN 2000 AND 2009 THEN '2000 - 2009'
WHEN calendarYear BETWEEN 1990 AND 1999 THEN '1990 - 1999'
WHEN calendarYear BETWEEN 1980 AND 1989 THEN '1980 - 1989'
WHEN calendarYear BETWEEN 1970 AND 1979 THEN '1970 - 1979'
WHEN calendarYear BETWEEN 1960 AND 1969 THEN '1960 - 1969'
ELSE 'all others'
END AS Decade
FROM tbldocumentTitleDimension
INNER JOIN tblDocumentFact ON tbldocumentTitleDimension.documentTitleID = tblDocumentFact.documentTitleID
INNER JOIN tblDateDimension ON tblDocumentFact.publicationDateID = tblDateDimension.dateID
GROUP BY documentTitle,
calendarYear
ORDER BY [Number of Occurrences] DESC