请教一个分页的sql语句的写法 谢谢啦

xiaoshuidi123 2012-08-08 09:22:29
我的数据库表如图
我想把FatherId为1的记录(总共10项记录)筛选出来,每页显示4条记录……请各位高手帮帮忙
pageSize为每页显示数目,即4; pageNow 为当前的页码;
我是这样写的
"select top" + pageSize+ "(Title,Author,ReadCount,ReCount)" +"from title where TitleId not in (select top "+((pageNow-1)*pageSize) + "TitleId from title and FatherId="+a
可是后台报错了
...全文
154 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
l1813779684 2012-08-09
  • 打赏
  • 举报
回复
http://www.fuchaoqun.com/2009/04/efficient-pagination-using-mysql/
xiaoshuidi123 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

用limit语句,冒似可以……
[/Quote]怎么用limit语句呢 我不会呀
yuqingwen09 2012-08-09
  • 打赏
  • 举报
回复
用limit语句,冒似可以……
LJ_liujue 2012-08-09
  • 打赏
  • 举报
回复
额!! 直接用hibernate 里面就有自带的分页查询
LJ_liujue 2012-08-09
  • 打赏
  • 举报
回复
分页有很多种做法:可以全查询后分页;也可以分多次查询
wsyangzuda 2012-08-08
  • 打赏
  • 举报
回复
pageNow a 这两个具体点?
xiaoshuidi123 2012-08-08
  • 打赏
  • 举报
回复
我用的是mysql数据库
MiceRice 2012-08-08
  • 打赏
  • 举报
回复
不同数据库支持不同的分页语法,不知道你是啥数据库?看你用了 top 关键字,那么似乎是 SQL Server?

这里的问题,应该是你没有正确使用空格,比如:
"select top " + pageSize+ " Title,Author,ReadCount,ReCount " +" from title where TitleId not in (select top "+((pageNow-1)*pageSize) + " TitleId from title and FatherId="+a

然后执行之前,把语句显示出来看看,严重关注下空格之类的问题。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧