我一直试图了解如何在SQL中实现自定义分页,例如阅读像这样的文章.
我有以下查询,它完美地工作.但我想用这个实现分页.
SELECT TOP x PostId FROM ( SELECT PostId, MAX (Datemade) as LastDate
from dbForumEntry
group by PostId ) SubQueryAlias
order by LastDate desc
Run Code Online (Sandbox Code Playgroud)
我想要的是什么
我有论坛帖子,有相关条目.我想获得最新添加的条目的帖子,所以我可以选择最近辩论的帖子.
现在,我希望能够获得"最近10到20个活跃的帖子",而不是"前10名".
我试过了什么
我试图将ROW函数实现为文章中的那个,但实际上没有运气.
有什么想法如何实现呢?
我列出了这个问题
SELECT q.qTitle, q.qDescription, q.qCreatedOn, u.uCode, u.uFullname, qcat.qcatTitle, q.qId, q.qStatus
FROM tblQuestion AS q INNER JOIN tblUser AS u
ON q.uId = u.uId INNER JOIN tblQuestionCategory AS qcat
ON q.qcatId = qcat.qcatId
WHERE (q.qStatus = 1)
ORDER BY q.qCreatedOn DESC
OFFSET @page*10 ROWS FETCH NEXT 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)
但我的服务器出现问题,
Incorrect syntax near 'OFFSET'.
Invalid usage of the option NEXT in the FETCH statement.
Run Code Online (Sandbox Code Playgroud)
如何修改sql server 2008的查询?
还有一个问题.如何编写列出页面的存储过程?这是我的完整代码http://codepaste.net/gq5n6c
我正在研究jsp中的分页(我是编写sql的新手).
我做了我的研究,发现了简单的查询
分页在SQL Server 2008 和如何做分页在SQL Server 2008
SELECT * FROM document ORDER BY id OFFSET
"+iPageNo+" ROWS FETCH NEXT 10 ROWS ONLY;
Run Code Online (Sandbox Code Playgroud)
在上面的查询ipageNo第一次来0(即使我尝试手动放1)
仍然给出错误 Incorrect syntax near 'OFFSET'.
我错过了什么?提前致谢.