SQL Server里有没有类似Oracle里的rownum的伪列
发表新主题 回复此主题
第1楼 2007-06-22 12:34 哆啦A梦 写道:
SQL Server里有没有类似Oracle里的rownum的伪列
我想从任意表里查一行记录,Oracle可以用where rownum<2实现,SQL Server怎么实现?
另外问一下,SQL Server中有没有类似Oracle中dual这样的表?
第2楼 2013-08-31 12:44 Robot :
SQL Server里有没有类似Oracle里的rownum的伪列 相关
第3楼 2007-06-22 13:35 大天使pal 写道:
1select * from table2 设置主从表
第4楼 2007-06-22 13:36 天涯之心 写道:
rownum和Dual表,应该是Oracle所特有的东西。
SQL Server和Sybase都没有这个,其它的数据库不好说。
rownum关键字,是Oracle为查询返回的行,顺序分配的编号,当然也可以作为Where条件来使用。
Dual表:也是Oracle方便查询而使用的特殊表。Oracle内部机制可以确保该表始终只有一行一列一个X值。
下面是从网上找到的使用临时表的方法,因为没有Sql server环境,未测试,仅供参考:
select rownum=identity(int,1,1),id,name into #t from table1
select * from #t
drop table #t
如果只想查询记录,可以参考下面的子查询代码:
select * from 表 where id >= ALL (select id from 表);
select * from 表 where id <= ALL (select id from 表);
select * from 表 where id = (select max(distinct id) from 表);
select * from 表 where id = (select min(distinct id) from 表);