写出一条Sql语句:取出表A中第10到第20记录(注意:ID可能不是连续的)

表1:id,name,typeid,titre;表2:typeid,typename查询表1的全部字段和表2的typename要求实现分页,每页要有10条数据,查询第二页... 表1: id, name, typeid, titre;表2: typeid ,typename
查询 表1的全部字段 和表2 的typename 要求实现分页,每页要有10条数据,查询第二页 写出查询的select语句
展开
 我来答
dr_zxp
2010-07-22 · TA获得超过861个赞
知道小有建树答主
回答量:765
采纳率:100%
帮助的人:852万
展开全部
SELECT TOP 10 *
FROM (select a.*,b.typename from 表1 a left join 表2 b on a.typeid=b.typeid) a
WHERE ID >(SELECT MAX(id) FROM (SELECT TOP 20 id FROM 表1 ORDER BY id) b)
ORDER BY ID
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alex_hy
2010-07-22 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2601
采纳率:100%
帮助的人:976万
展开全部
sql server:

前10条:
select top 10 * from 表 order by 需要排序的字段

11-20:
select * from
(select row_number() over (order by 需要排序的字段) as id,* from 表
)a
where id between 11 and 20
或者
select top 10 * from 表
where id not in (select top 10 * from 表 order by 需要排序的字段)
order by 需要排序的字段

oracle:
前10条:
select * from
(
select * from 表 order by 需要排序的字段
)
where rownum<=10

11-20:

select * from
(
select * from 表 order by 需要排序的字段
)
where rownum between 11 and 20

mysql:
前10条
select * from
(
select * from 表 order by 需要排序的字段
)a
limit 10
11-20条:
select * from
(
select * from 表 order by 需要排序的字段
)a
limit 11,10

---------
根据你的要求
将上面
from 表
替换为
from (select a.*,b.typename from 表1 a left join 表2 b on a.typeid=b.typeid) a
就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjdxhc
2010-07-22 · TA获得超过168个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:128万
展开全部
select * from (select *,row_number() over(order by c.id) tid from (select a.*,typename from tbl1 a,tbl2 b where a.typeid = b.typeid) c) where c.tid between 11 and 20
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一鸣禽鹿之西1
2010-07-22
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
select
top 10 * from (select b.*,c.typename from b left join c on b.typeid=c.typeid) b where id >(select id from (select top 20 id FROM b order by id) c)order by id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式