也可以: set rowcount 20 select * from tablename set rowcount 0
select top 20 * from table 也可以: set rowcount 20 select * from table set rowcount 0
top是ms的扩展,不是标准的sql语法,试一下在db2和oracle中 top肯定通不过啊!
chump说的对,我是问用标准SQL语法怎么实现?有没有人知道?
标准SQL到现在还没有给出,因为结果集的行没有先后。所以返回顺序如何没有关系(这是关系数据库的理论),不过你可以用一些变通的方法。把一个结果集先放在一个有自增字段的临时表中,在取自增字段前若干行就行。下面的方法可以对没有自增字段的数据库管理系统使用。不过性能不是太好。只能算是一种解决方法吧。我叫他结果集序列化方法。(前提有唯一键)select a.* from table as a,table as b where a.唯一键>=b.唯一键 group by a.唯一键 having count(*)<=你需要的行数
set rowcount 20
select * from tablename
set rowcount 0
也可以:
set rowcount 20
select * from table
set rowcount 0
from table as a,table as b
where a.唯一键>=b.唯一键
group by a.唯一键
having count(*)<=你需要的行数