0

使用 SQL Server 2008。

;WITH cte AS
(
   SELECT *,
     ROW_NUMBER() OVER (PARTITION BY refId ORDER BY refid DESC) AS rn
   FROM Products
)
SELECT ProductCategories.Id, 
ProductCategories.Title, 
ProductCategories.languageId, 
ProductCategories.RefId, 
Url
FROM 
 cte
RIGHT JOIN
 RoundupAcademy.dbo.ProductCategories
ON 
 dbo.ProductCategories.RefID = cte.CategoryId
WHERE rn = 1

这个查询应该带回每个类别的顶部结果,而不是只带回所有结果。

我只需要基于 refid 的第一名,我在这里做错了什么?

4

1 回答 1

0

对于那些想知道的人,查询很好,只是分区的引用错误,它应该是 categoryId 而不是 refID。

于 2013-08-29T12:03:08.217 回答