写一条sql,查询出结果集第20行到第30行的记录,该怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:30:56

mysql:
select * from 表名 limit 19,10;

oracle:
select * from (select rownum id,a.* from 表名 a) where id between 20 and 30;

---
以上,希望对你有所帮助。

sql server/sybase:

select top 11 * from aaa where id not in (select top 19 id from aaa order by id) order by id

特别的,sql server2005/2008还可以这么写
select * from
(
select Row_Number() over (order by id) as row,* from aaa
) tmp
where row between 20 and 30

oracle:

select * from
(select * from aaa order by id)
where rownum between 20 and 30

select * from
(
select Row_Number() over (order by id) as row_id,* from aaa
) tmp
where row_id between 20 and 30

楼上的都写对了,赞一个!!