Sql 将行数()实现到特定查询
我有以下查询,它根据一些输入参数返回一组行:Sql 将行数()实现到特定查询,sql,sql-server,sql-server-2005,tsql,Sql,Sql Server,Sql Server 2005,Tsql,我有以下查询,它根据一些输入参数返回一组行: WITH hierarchy AS ( SELECT yt.id FROM [dbo].[TH_Categories] yt WHERE yt.ID = @topicID And CultureID = @cultureID UNION ALL SELECT yt.id FROM [dbo].[TH_Categories] yt JOIN hie
WITH hierarchy AS (
SELECT yt.id
FROM [dbo].[TH_Categories] yt
WHERE yt.ID = @topicID And CultureID = @cultureID
UNION ALL
SELECT yt.id
FROM [dbo].[TH_Categories] yt
JOIN hierarchy h ON h.ID = yt.ParentCategoryID)
Select id,
[SiteName]
,[SiteURL]
,[Description]
,[Logo]
,[CultureID]
,[DateAdded],
dbo.GetSiteFollowers(id) AS Followers
from dbo.TH_Sites
where id in (Select Distinct SiteID
from dbo.TH_CategoryFeeds
Where CatID in (SELECT ID
FROM hierarchy t ))
我试图使用ROW_Number函数实现分页,但我找不到方法
如果有任何帮助,我们将不胜感激。请参阅S了解分页技术的详细讨论。请参阅S了解分页技术的详细讨论。尝试以下方法:
;WITH hierarchy AS
(
SELECT yt.id
FROM [dbo].[TH_Categories] yt
WHERE yt.ID = @topicID And CultureID = @cultureID
UNION ALL
SELECT yt.id
FROM [dbo].[TH_Categories] yt
JOIN hierarchy h ON h.ID = yt.ParentCategoryID
)
, YourRows AS
(
Select id,
[SiteName]
,[SiteURL]
,[Description]
,[Logo]
,[CultureID]
,[DateAdded]
,dbo.GetSiteFollowers(id) AS Followers
,ROW_NUMBER() OVER (ORDER BY ActivityDate DESC) AS RowNumber
from dbo.TH_Sites
where id in (Select Distinct SiteID
from dbo.TH_CategoryFeeds
Where CatID in (SELECT ID
FROM hierarchy t ))
)
SELECT * FROM YourRows
WHERE RowNumber>=@Start and RowNumber<=@End
试试这个:
;WITH hierarchy AS
(
SELECT yt.id
FROM [dbo].[TH_Categories] yt
WHERE yt.ID = @topicID And CultureID = @cultureID
UNION ALL
SELECT yt.id
FROM [dbo].[TH_Categories] yt
JOIN hierarchy h ON h.ID = yt.ParentCategoryID
)
, YourRows AS
(
Select id,
[SiteName]
,[SiteURL]
,[Description]
,[Logo]
,[CultureID]
,[DateAdded]
,dbo.GetSiteFollowers(id) AS Followers
,ROW_NUMBER() OVER (ORDER BY ActivityDate DESC) AS RowNumber
from dbo.TH_Sites
where id in (Select Distinct SiteID
from dbo.TH_CategoryFeeds
Where CatID in (SELECT ID
FROM hierarchy t ))
)
SELECT * FROM YourRows
WHERE RowNumber>=@Start and RowNumber<=@End
您尝试了哪些不起作用的内容?向THU站点添加附加列:按[ActivityDate]订购的行数描述为“行数”,并以@rowStart和@rowEnd之间的行数结束。您尝试了哪些不起作用的内容?向THU站点添加附加列:按[ActivityDate]订购的行数将其描述为“RowNumber”,并以:其中@rowStart和@rowEnd.Registration之间的RowNumber是免费的,通常是一个很好的资源。这是值得的30秒,它将需要注册。注册是免费的,是一个很好的资源一般。它值得花30秒注册。