如题:前几天有遇到这样的一道题:在数据库内查找第30到40条记录,ID是递增的单可能是不连续的,让写sql查询语句。
请教了一下同事后得知数据库内的表其实隐含有一个字段交rownum的,他是用来记录记录的条数,sql语句如下:
select t.* from (select a.*,rownum rm from (select d.* from dict d order by id) a) t where t.rm between 30 and 40
之所以要(select d.* from dict d order by id),是因为rownum只是相当于一个序号,它从表内的第一条记录赋值为1然后递增,而数据库内的表记录是不规则的。
请教了一下同事后得知数据库内的表其实隐含有一个字段交rownum的,他是用来记录记录的条数,sql语句如下:
select t.* from (select a.*,rownum rm from (select d.* from dict d order by id) a) t where t.rm between 30 and 40
之所以要(select d.* from dict d order by id),是因为rownum只是相当于一个序号,它从表内的第一条记录赋值为1然后递增,而数据库内的表记录是不规则的。