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. 希望你现在很清楚. (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 半条命2测试版Beta-ANON泄露:提供BT下载
- 解决Win8在VMware Fusion中使用Wacom笔不正常的问题
- 微软将停止提供Windows NT安全外技术支持
- sql-server – 模仿group_concat()与GROUP BY结合使用
- sql server:根据计数器和另一个列值生成主键
- html 指定页面字符集的两种方法
- SQL SERVER存储过程语法详解
- sql-server-2012 – 如何卸载SQL Server Management Studio
- sql-server – 如何在SQl Server 2008中选择distinct,但仅限
- HTML Table 空白单元格补全的实现方法