方法1:
with temp as
( select
row_number() over(order by cityID) as rownum,cityName from city )
select * from temp
where rownum between 10 and 20
go
解释:
1
此方法把括号里的查询结果放到变量:temp
里面(
我也不确定是不是变量),
并用row_number()
函数进行一个行号跟踪,
再用over
函数进行一个列的排序规则(
是这必须的),
并指定列名为'rownum'
2
紧接着在下面的语句可以对 'rownum'
进行一个指定行号的查询
3
此批语句执行完毕后,
变量:temp
释放
方法2:
select
identity(int,1,1) as rownum, cityName into #temp from city
select * from #temp
where rownum between 10 and 20
go
解释:
此方法跟上面的差不多的意思,
只不过把 row_number()
函数换成了 identity()
函数
并把结果集放在一个临时表里面,
当批语句执行完毕,
此临时表还可以使用
我个人比较喜欢后面这种。
分享到:
相关推荐
oracle 的rownum和咱们平时用的sqlserver的区别,其中好多的不一样!
Oracle与SQL Server应用差异对比分析在Oracle中采用伪列rownum 获取结果集中排在前面的部分记录 Eg: 返回结果集中前10条记录 Select * from sysc01 where rownum Rownum可使用<、符号,不可使用>、>=符号,如果使用...
需求是使用sqlserver根据指定的数字和表生成一串连续的数字,类似于oracle中ROWNUM的功能,具体实现如下: 一、Oracle使用ROWNUM实现方式 SELECT ROWNUM number_list FROM 表名 WHERE ROWNUM <= 10; 二、Sql...
1.或许有的人会用id+limit来实现上一条,下一条功能.但是.我们试想一下.有的业务并不是用id来排序的.那这样的方法就没效果了. 2.现在找到了生成rownum的方法,并且优化了执行速度. 3.直接上我项目里的sql,希望对大家...
有完整的案例SQL语句,直接拷贝运行。 SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY FSalary DESC) AS rownum, FNumber,FName,FSalary,FAge FROM T_Employee ) AS a WHERE a.rownum>=3 AND a....
oracle_SQL中rowid与rownum的使用
设置sqlServer使用ROW_NUMBER时不排序 –1.看到NHibernate是这样写的分页,感觉写起来比较容易理解(应该不会有效率问题吧?) –with只是定一个别名? [sql] with query as (select ROW_NUMBER() over(order by ...
在SQL Server中可以用top n 来返回指定数量的纪录,Oracle中与之对应的是 rownum,只 是不同的是:SQL Server的top n 是逻辑顺序返回的纪录,而Oracle的 rownum 指定的是物理顺 序的序号,其物理的序号是在order by之前就...
oracle_SQL中ROWID与ROWNUM的使用 很有用哦
在SqlServer2005中,提供了一个row_number()的函数,我们经常用它做DataBase数据分页.
=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum 与 rowid ...
oracle 分页查询 使用ROWNUM技巧及陷阱
oracle rownum和distinct
oracle_SQL中 rowid 和rownum的使用
sql语句中select top n与oracle的rownum与mysql的limit 取前几条数据sql简单用法
注意:对 rownum(伪列) 只能使用 < 或 <=, 而用 =, >, >= 都将不能返回任何数据 例:查询工资前20名的员工姓名,工资 ,工资由高到低 Select rownum,first_name,salary from (Select first_name, salary ...
sql学习 执行计划SQL写法差异改变之3_rownum分页.sql
sql学习 执行计划SQL写法差异改变之4_rownum实体化.sql
oracle中的rownum是一个虚拟列,每输出一行递增1。但是在pg中目前没有rownum虚拟列,那么如果从oracle迁移到pg该如何实现呢? 要在pg中实现rownum我们得先...SQL> select * from t1 where rownum=1; ID ---------- 1
ORACLE 中ROWNUM用法总结 整理版本,详细明了