oracle中的行数
我想根据最后一行号获取数据 我要用黄色突出显示这些记录。请指导。应该是一个简单的MAX函数oracle中的行数,oracle,Oracle,我想根据最后一行号获取数据 我要用黄色突出显示这些记录。请指导。应该是一个简单的MAX函数 select max(row_number) rn, account_no from your_table group by account_no order by account_no; 如果row_number表示分析函数的结果,但到目前为止您发布的内容还不清楚,那么将ORDER BY子句包含到函数中,我不知道您正在按降序对数据进行排序,这样您的max实际上变成了min,其RN=1,
select max(row_number) rn,
account_no
from your_table
group by account_no
order by account_no;
如果row_number表示分析函数的结果,但到目前为止您发布的内容还不清楚,那么将ORDER BY子句包含到函数中,我不知道您正在按降序对数据进行排序,这样您的max实际上变成了min,其RN=1,然后很容易选择它作为最终结果
with temp as
(select columnb,
columnc,
row_number() over (partition by accountno order by SOMETHING desc) rn
^^^^^^^^^^^^^^^^^^^^^^^
add this
from some_table
)
select columnb,
columnc
from temp
where rn = 1
因为我没有你的桌子,这是斯科特的EMP:
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17.12.80 920 20
7499 ALLEN SALESMAN 7698 20.02.81 1600 300 30
7521 WARD SALESMAN 7698 22.02.81 1250 500 30
7566 JONES MANAGER 7839 02.04.81 2975 20
7654 MARTIN SALESMAN 7698 28.09.81 1250 1400 30
7698 BLAKE MANAGER 7839 01.05.81 2850 30
7782 CLARK MANAGER 7839 09.06.81 2450 10
7788 SCOTT ANALYST 7566 09.12.82 3000 20
7839 KING PRESIDENT 17.11.81 10000 10
7844 TURNER SALESMAN 7698 08.09.81 1500 0 30
7876 ADAMS CLERK 7788 12.01.83 1100 20
7900 JAMES CLERK 7698 03.12.81 950 30
7902 FORD ANALYST 7566 03.12.81 3000 20
7934 MILLER CLERK 7782 23.01.82 1300 10
14 rows selected.
您的代码将是这样的;注意第6行,它按照我的建议计算行数;您将在最后的WHERE子句第11行中使用它,同时表示您迫切需要的最大行数值
SQL> with temp as
2 (select deptno,
3 sal,
4 row_number() over (partition by deptno order by sal) rn,
5 --
6 row_number() over (partition by deptno order by sal desc) rnd
7 from emp
8 )
9 select deptno, sal, rn
10 from temp
11 where rnd = 1
12 /
DEPTNO SAL RN
---------- ---------- ----------
10 10000 3
20 3000 4
30 2850 6
SQL>
使用行数作为分析函数。。。因此,我们不能简单地使用max函数。我使用的查询是这样的-从表\u NAME中选择按ACCOUNTNO ORDER BY ACCOUNTNO划分的行\u编号、列B、列C、列D、列E;所有的田地都是小鬼。。。。因此,在这个基础上,你可以询问如何获得上面问题中以黄色突出显示的记录。为什么你一开始不这么说?我添加了更多的信息;看一看。我还是不会得到那个数据,因为你提到了rn=1的条件……想要那个用黄色突出显示的数据……对我有用,至少我理解这个问题的方式是这样的。如果这不是您想要的,请在创建表后插入样本数据和所需输出;那我去看看。