我正在创建一个 SP,它通过在其上应用 distinct 来给出一些结果,现在我想实现服务器端分页,所以我尝试在不同的结果上使用 Row_number,例如:
WITH CTE AS
(
SELECT ROW_NUMBER() OVER(ORDER BY tblA.TeamName DESC)
as Row,tblA.TeamId,tblA.TeamName,tblA.CompId,tblA.CompName,tblA.Title,tblA.Thumbnail,tblA.Rank,tblA.CountryId,tblA.CountryName
FROM
(
--The table query starts with SELECT
)tblA
)
SELECT CTE.* FROM CTE
WHERE CTE.Row BETWEEN @StartRowIndex AND @StartRowIndex+@NumRows-1
ORDER BY CTE.CountryName
但是首先为行分配 RowNumber 然后应用 distinct ,这就是为什么我得到重复值,如何首先获得不同的行然后获得相同的行号。
对此有任何解决方案吗?我错过了什么吗?需要尽快答复。提前致谢!