如果我正确理解,postid是唯一的,所以这应该有所帮助
编辑:
好,那就试试
DECLARE @BlogPosts TABLE( PostID INT PRIMARY KEY not null, PostTitle NVARCHAR , BlogID int, TotalComments int )INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECt 1, 'A', 1, 3INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 2, 'B', 1, 4INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 3, 'C', 2, 5INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 4, 'D', 2, 6INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 5, 'E', 2, 7INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 6, 'F', 1, 8INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 7, 'G', 3, 9INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 8, 'H', 4, 10INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 9, 'I', 5, 11INSERT INTO @BlogPosts (PostID,PostTitle,BlogID,TotalComments) SELECT 10, 'J', 6, 5SELECT TOP 5 *FROM @BlogPosts bp INNER JOIN ( SELECt BlogID, MAX(TotalComments) MaxComments FROM @BlogPosts GROUP BY BlogID ) maxCommentsPerBlog ON bp.BlogID = maxCommentsPerBlog.BlogID AND bp.TotalComments = maxCommentsPerBlog.MaxCommentsORDER BY bp.TotalComments DESC
不过,您可能有多个max blog-totalComments组合。



