mssql数据库,Oracle,MSSQL,Mysql三种数据库的分

Mysql:
查询TOP n条记录用法------------------------------------------------------SELECT 字段名 FROM 表名ORDER BY 字段名 LIMIT 0,n;
例子----------------------------------------------------------------------------查询前10条记录SELECT * FROM city ORDER BY id LIMIT 0,10;
分页查询用法-----------------------------------------------------------------SELECT 字段名 FROM 表名 ORDER BY 字段名 LIMIT n,m;其中n是条目的索引从0开始,而m代表n索引后的m条记录,如查询第15到18条记录,写法为limit 14,4;
例子----------------------------------------------------------------------------按照城市名称倒序,查询city表中第11到12条记录的城市名称:
SELECT name FROM city ORDER BY name DESC LIMIT 10,2;
查询在TOP N纪录中抽出第M(M <= N)条记录用法-----SELECT 字段名 FROM (SELECT 字段名 FROM 表名 ORDER BY 字段名 LIMIT 0,n) AS 表别名 ORDER BY 字段名 DESC LIMIT M,1;
抽出按某种方式排序的记录集中的第M条记录开始的X条记录用法--SELECT 字段名 FROM (SELECT 字段名 FROM 表名 ORDER BY 字段名 LIMIT x,y) AS 表别名 LIMIT M,X;
Oracle
查询TOP n条记录用法------------------------------------------------------select 字段名 FROM 表名 where rownum <=n order by 字段名;
例子----------------------------------------------------------------------------查询前10条记录select * from city where rownum<=10 order by id;
分页查询用法-----------------------------------------------------------------从数据库表中第M条记录开始检索N条记录select * from (select rownum r,t1.* from 表名 t1 where rownum <m+n) t2 where t2.r >=m;
例子-----------------------------------------------------------------------------从gp_gbbh表中查询第1到5条记录select * from (select rownum r,t1.* from 表名 t1 where rownum <6) t2 where t2.r >=1;
MSSQL:
查询TOP n条记录用法------------------------------------------------------SELECT top(n) 字段名 FROM 表名ORDER BY 字段名;
例子----------------------------------------------------------------------------查询前10条记录SELECT top(n) * FROM city ORDER BY id ;
分页查询用法-----------------------------------------------------------------利用sqlserver的row_number() 函数,在sqlserver2000中并没有此函数,它是sqlserver2005新增加的函数,查询第n到m条记录select * from (select *,row_number() over(order by 字段) as rn from 表名) tt where tt.rn between n and m
例子-----------------------------------------------------------------------------从gp_gbbh表中查询第1到5条记录,select * from
(select *,row_number() over(order by secucode) as rn from gp_gbbh) tt
where tt.rn between 1 and 5
Tags:  mssql数据库

延伸阅读

最新评论

发表评论