作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前我正在尝试输出 2 个条件的顶行。一个是最大,一个是最小。当前代码
Select *
from (MY SELECT STATEMENT order by A desc)
where ROWNUM <= 1
更新我现在能够满足这两种情况。但我需要 A 是最高的,如果相同则检查 B 最低。
例如,假设有 2 行,其中 A 为 100,B 为 50,另一行为 60。在这种情况下,应选择 100:50,因为 A 相同,B 最低。
例如假设有 2 行,A 的一行为 100,另一行为 90,因为其中一行较高,因此无需检查 B。
我尝试使用 max 和 min,但这种方法似乎效果更好,有什么建议
最佳答案
好吧,在您澄清之后,您正在寻找一条记录。具有最大A。和最小的B,以防有多个具有MAX A的记录。这很简单:
Select *
from (MY SELECT STATEMENT order by A desc, B)
where ROWNUM = 1;
首先按 A 降序排序,因此您首先获得所有最大的 A 记录。然后按 B 排序,因此在每个 A 组中,首先得到最少的 B。这首先会为您提供所需的 A 记录,无论找到的 A 是否唯一。
关于sql - 如何在 ORACLE 中使用 ROWNUM 进行最大排序和另一个最小排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25481256/
我是一名优秀的程序员,十分优秀!