sql 分页语句

虽不简单 2011-08-31 02:18:41
如何从两个表中查数据并分页呢?select a.card b.name form meng a, neng b where a.card=b.card分页咋写呢??????
...全文
270 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
24K純帥 2011-09-01
  • 打赏
  • 举报
回复
每种数据库分页都不一样,两个表连接一下就可以了
langyuziyou12 2011-09-01
  • 打赏
  • 举报
回复
纯粹的用数据库来实现分页 负担很大的。
哈哈哈3234 2011-08-31
  • 打赏
  • 举报
回复
用内嵌查询就ok了
hen_ai_hen_ai_ni 2011-08-31
  • 打赏
  • 举报
回复
oracle 或者Sqlserver2005以上,都可以使用ronum这个函数了,至于sqlserver2000么,好久不用,以前用的是 not in做的,楼上的说法基本都能实现分页,但是利用rownum更好一些,毕竟比起not in来还是方便高效一些的了
虽不简单 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 dulongfie 的回复:]
select top 10 a.id
from on a.id=b.id
where a.id not in(select top 10 a.id
from a);

第二个top 10 就是你传进来的值:每页显示的数据条数 * 页数
[/Quote]

a left join b 什么意思?
roffer 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 lixu1988714 的回复:]
select card,name from(
select rownum rowCount,a.card,b.name from meng a,neng b where a.card=b.card and rownum<10) where row Count>1
[/Quote]
别人用得是sqlserver2005 or 2000,你这是oracle得语法
lixu1988714 2011-08-31
  • 打赏
  • 举报
回复

select card,name from(
select rownum rowCount,a.card,b.name from meng a,neng b where a.card=b.card and rownum<10) where row Count>1
tangguoqiang870102 2011-08-31
  • 打赏
  • 举报
回复
http://www.cnblogs.com/anjou/archive/2007/10/17/926944.html
这里有,但感觉没有mysql oracel那么方便~
roffer 2011-08-31
  • 打赏
  • 举报
回复
select top 10 a.id
from a left join b on a.id=b.id
where a.id not in(select top 10 a.id
from a);

第二个top 10 就是你传进来的值:每页显示的数据条数 * 页数
算法导论 2011-08-31
  • 打赏
  • 举报
回复
这里不得不说一个功能强大的数据库软件postgresql,它的分页太牛B了,不需要指针。
只需要这样SELECT * FROM table_name ORDER BY field_name LIMIT 10 OFFSET 10;
他的意思就是忽略掉前10条再取10条,如果你是第3页就是忽略掉前20条再取10条。
看我的自己做的手机留言网站就是用这个数据库实现的分页
手机留言网站:一言一语点击进入(帮我留言哈)
闷头挣钱 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhq2012 的回复:]
引用 12 楼 pease 的回复:
嘿嘿,我把数据索引检索出来,调整记录指针进行分页



??????
[/Quote]

不明白?
检索数据(仅ID)后使用
ResultSet.absolute(xxx);
虽不简单 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 pease 的回复:]
嘿嘿,我把数据索引检索出来,调整记录指针进行分页
[/Quote]


??????
闷头挣钱 2011-08-31
  • 打赏
  • 举报
回复
嘿嘿,我把数据索引检索出来,调整记录指针进行分页
yuanjianbin 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhq2012 的回复:]

引用 6 楼 cgw1123 的回复:
select top 10 * from table 取前十行



这是一个表的 我会 俩呢?
[/Quote]

你在俩的里面这样试过没
虽不简单 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 maple0508 的回复:]
select top 10 * from (select a.card b.name form meng a, neng b where a.card=b.card)
[/Quote]

分页分页阿 这只是取了前10条吧
arlen 2011-08-31
  • 打赏
  • 举报
回复
select top 10 * from (select a.card b.name form meng a, neng b where a.card=b.card)
虽不简单 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cgw1123 的回复:]
select top 10 * from table 取前十行
[/Quote]


这是一个表的 我会 俩呢?
古月一刀2005 2011-08-31
  • 打赏
  • 举报
回复
http://weibo.com/lakebing
東刀人 2011-08-31
  • 打赏
  • 举报
回复
select top 10 * from table 取前十行
虽不简单 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zn85600301 的回复:]
sqlserver 不就是用 top吗

百度 sqlserver 分页sql
[/Quote]

关键是两个表 咋办?
加载更多回复(4)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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