Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 在toad中从表中取出最后一行_Oracle - Fatal编程技术网

Oracle 在toad中从表中取出最后一行

Oracle 在toad中从表中取出最后一行,oracle,Oracle,我得去拿第一排和最后一排蟾蜍。 我使用了以下查询 select * from grade_master where rownum=(select max(rownum) from grade_master) select * from grade_master where rownum=1 第二个查询用于获取第一行。但第一个不起作用。任何人都可以帮助我 提前感谢若您指定了结果的排序顺序,那个么这样的请求是有意义的——若并没有指定排序顺序,那个么数据库中就并没有“第一”行和“最后”行 SQL&g

我得去拿第一排和最后一排蟾蜍。 我使用了以下查询

select * from grade_master where rownum=(select max(rownum) from grade_master)
select * from grade_master where rownum=1
第二个查询用于获取第一行。但第一个不起作用。任何人都可以帮助我


提前感谢

若您指定了结果的排序顺序,那个么这样的请求是有意义的——若并没有指定排序顺序,那个么数据库中就并没有“第一”行和“最后”行

SQL> with t as (
  2  select 'X' a, 1 b from dual union all
  3  select 'C' , 2  from dual union all
  4  select 'A' a, 3 b from dual
  5  )
  6  select a, b, decode(rn, 1, 'First','Last')
  7  from (
  8  select a, b, row_number() over(order by a) rn,
  9  count(*) over() cn
 10  from t
 11  )
 12  where rn in (1, cn)
 13  order by rn
 14  /

A          B DECOD                                                              
- ---------- -----                                                              
A          3 First                                                              
X          1 Last   

在oracle中,在sql语句中指定顺序之前,数据不会排序

所以当你这样做的时候:

 select * from grade_master 
甲骨文将以它想要的任何方式提供行

如果你这样做了

 select * from grade_master order by id desc
然后oracle将按id降序返回这些行

因此,要获取最后一行,可以执行以下操作:

 select *
    from (select * from grade_master order by id desc)
   where rownum = 1

rownum是在评估“orderby”子句之前确定的,因此此查询所做的是对行进行降序(内部查询),然后将此有序集赋予外部查询。外层获取集合的第一行,然后返回。

如何将行定义为第一行或最后一行?行可以是第一行,也可以基于升序、降序或散列排序。