Perguntas e respostas para programadores profissionais e entusiastas
SELECT p.Id, p.Title, p.PostTypeId, p.Score, ms.[Max Score] FROM Posts p JOIN (SELECT p.PostTypeId, max(p.Score) [Max Score] FROM Posts p GROUP BY p.PostTypeId) ms ON ms.PostTypeId = p.PostTypeId SELECT p.Id, p.Title, p.PostTypeId, p.Score, RANK() OVER (PARTITION BY p.PostTypeId ORDER BY p.Score DESC) AS Rank ,ms.[Max Score] FROM Posts p JOIN (SELECT p.PostTypeId, max(p.Score) [Max Score] FROM Posts p GROUP BY p.PostTypeId) ms ON ms.PostTypeId = p.PostTypeId GROUP BY p.Id, p.Title, p.PostTypeId, p.Score, ms.[Max Score]