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”子句之前确定的,因此此查询所做的是对行进行降序(内部查询),然后将此有序集赋予外部查询。外层获取集合的第一行,然后返回。如何将行定义为第一行或最后一行?行可以是第一行,也可以基于升序、降序或散列排序。