sql – 怎样行使rownum
拜见英文谜底 >
How to get second largest or third largest entry from a table12个
我想得到第二高的薪水,但无法取得. 这一个事变正常 with e_salary as (select distinct salary from employee) select salary from e_salary order by salary desc 并给出输出: 450000 61000 60000 50000 40000 30000 20000 6000 可是,当我行使沟通的查询来获取第二高的行没有获得任何输出 select salary from ( with e_salary as (select distinct salary from employee) select salary from e_salary order by salary desc) where rownum = 2 可是当我用rownum< 2替代rownum = 2时,它会给出前两个记录的输出.请有人表明为什么rownum = 2不起浸染 办理要领这将有用:
为什么它不起浸染: 将ROWNUM分派给某行时,Oracle从1开始,仅在选择行时增进该值;也就是说,当满意WHERE子句中的全部前提时.因为我们的前提纲求ROWNUM大于2,因此不会选择任何行,而且ROWNUM永久不会高出1. 但愿你此刻很清晰. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |