Oracle查询排序后的前10条记录 您所在的位置:网站首页 oracle显示一条数据 Oracle查询排序后的前10条记录

Oracle查询排序后的前10条记录

2023-12-30 01:50| 来源: 网络整理| 查看: 265

查询表CMS_GPS中,车牌号为“苏EFN588”,时间最近的前10条记录,

不可以写成下面这样,这样写是先搜索出前10条记录,然后再按时间倒序排列,

SELECT * FROM CMS_GPS WHERE VEHICLE_NO = '苏EFN588' AND ROWNUM select rownum ,id,name from (select * from student order by name);     ROWNUM ID     NAME ---------- ------ ---------------------------------------------------          1 200003 李三          2 200002 王二          3 200001 张一          4 200004 赵四

 

第一种效率低,提供效率更高的第二种方法,

第二种方法:

先查字表,按时间排序,主表查字表时,自动生成伪列,并查询伪列ROWNUM4;

错误示范:

 ORACLE查询第N~M条记录的方法:

select * from (select a.*,a.rownum rn from (select * from table_name) a where a.rownumn --这句就是从n到m也的数据,分为三层结构

第一个错误:rownum前面不可以加表名做前缀,第二,三层结构太繁琐,可以优化为二层结构,

select * from (select a.*,rownum rn from table_name a where rownumn;

MYSQL查询前10条、第2~10条记录的方法:

select * from table_name limit 0,10 --通常0是可以省略的,直接写成 limit 10。0代表从第0条记录后面开始,也就是从第一条开始 select * from table_name limit 1,10 --则为从第一条后面的记录开始展示,也就是说从第二条开始。

MSSQL查询前10条的方法为:

select top X * from table_name --查询前X条记录,可以改成需要的数字。 select top n * from (select top m * from table_name order by column_name ) a order by column_name desc --查询第N到M条记录。常用的分页也是这种方式。 例如常用的分页方式: declare @page int declare @row int set @page=2 --页数 set @row=3 --每页展示行数 select top (@row) * from (select top (@row*@page) * from table_name order by id ) a order by id desc --最基本的分页方式,改变@row和@page达到分页效果

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有