使用data explorer创建查询:
SELECT P.id, creationdate,tags,owneruserid,answercount
--SELECT DISTINCT TAGNAME ,TAGID
FROM TAGS AS T
JOIN POSTTAGS AS PT
ON T.ID = PT.TAGID
JOIN POSTS AS P
ON PT.POSTID = P.ID
--WHERE CAST(P.TAGS AS VARCHAR) IN('JAVA')
WHERE PT.TAGID = 3143
如何在查询中添加分页,以便不仅获取前50,000个结果,而且再次运行查询以获取下一个剩余的结果?
发布于 2018-08-16 21:53:57
有几种方法可以“翻页”TSQL结果;请参阅:
and
这里我将使用CTE方法,如下所示:
creationdate
.OFFSET
方法更快。因此,该问题的查询变成了this SEDE query
-- StartRow: Starting row for paging
-- EndRow: Ending row for paging (Max 50K rows at a time)
WITH allData AS (
SELECT
ROW_NUMBER() OVER (ORDER BY P.creationdate) AS row
, P.id
, P.creationdate
, P.tags
, P.owneruserid
, P.answercount
FROM Posttags AS PT
JOIN Posts AS P ON PT.postid = P.id
WHERE PT.tagid = 3143 -- tag [scala]
)
SELECT *
FROM allData
WHERE row >= ##StartRow:INT?1##
AND row <= ##EndRow:INT?50000##
ORDER BY row
https://stackoverflow.com/questions/51884419
复制相似问题