Rownum 语句返回与没有它时不同的行

2024-02-11

好吧,我有这个 select 语句,它返回担任职员的人数最少的部门编号,但由于数据库中的数据,它返回两个部门。当我添加 rownum=1 时,它给了我一个完全不同的部门编号,其中有最多的职员,我不知道为什么会这样做。感谢帮助

select deptno from emp where job='CLERK' group by deptno 
having count(job)=(select min(count(job)) from emp where job='CLERK'group by deptno);

我尝试在主选择语句和子选择语句中使用 rownum 但结果相同。我什至使用 order by ,它仍然产生相同的结果。

select deptno from emp where rownum=1 and job='CLERK' group by deptno 
having count(job)=(select min(count(job)) from emp where job='CLERK'group by deptno) order by deptno;

这是带有 rownum 和 order by 的相同语句。


您的问题是由于以下事实引起的where条款之前应用order by.

您可以通过先排序然后应用来解决这个问题rownum:

select * from (
    select deptno from emp 
     where job='CLERK' 
     group by deptno 
    having count(job)=(select min(count(job)) from emp where job='CLERK'group by deptno) 
     order by deptno) 
where rownum=1;

Note:

此问题是 Oracle 特有的。微软SQL服务器TOP和MySQLLIMIT都在之后应用order by clause.

Note 2:

在 Oracle Database 12c (12.1) 中,有一个新功能用于选择行 k 到 k+m http://oracle-base.com/articles/12c/row-limiting-clause-for-top-n-queries-12cr1.php, offset k rows fetch next m rows only。我建议使用它而不是上面的解决方案。感谢 Lalit Kumar B 指出这一点。

select deptno from emp 
 where job='CLERK' 
 group by deptno 
having count(job)=(select min(count(job)) from emp where job='CLERK'group by deptno) 
order by deptno
fetch next 1 rows only

但是如果有两个(或更多)部门具有相同的编号怎么办?别担心,有一个变体可以返回所有关系:

select deptno from emp 
 where job='CLERK' 
 group by deptno 
having count(job)=(select min(count(job)) from emp where job='CLERK'group by deptno) 
order by deptno
fetch next 1 rows with ties
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rownum 语句返回与没有它时不同的行 的相关文章

随机推荐

  • opencv 库的双链表损坏

    嗨 我写了这个简单的程序 Main cpp std vector
  • 使用 countplot() 进行标准化

    下面的代码显示了一个图表 其中包含我的列表中的值的数量 import seaborn as sns sns countplot 0 1 2 3 1 2 1 3 2 1 2 1 3 plt show 我想要带有百分比的相同图 seaborn
  • PHP 中的静态变量

    我发现了有关 PHP 中静态变量的不同信息 但没有任何信息能够真正解释它是什么以及它是如何工作的 我读过 在类中使用静态属性时 该类实例化的任何对象都不能使用静态属性 而该类实例化的对象可以使用静态方法吗 但是 我一直在尝试研究静态变量在不
  • Alpine 3.18 Docker 镜像在使用 & 运行后台命令后不遵守 `sleep` shell 命令

    我一直在使用一个简单的脚本 其中包含一个 while 循环作为 Docker 容器的入口点 每分钟运行一个命令 可以说是一种简单的定时任务 while 循环如下所示 bin sh while true do php script php s
  • T-SQL 舍入与 C# 舍入

    我正在使用微软SQL Server Express https en wikipedia org wiki SQL Server Express2016年写一篇存储过程 https en wikipedia org wiki Stored
  • Freebase 中所有标题/主题标题的文本文件

    我需要一个文本文件来包含 txt 文件中每个标题 每个主题的标题 每个项目的标题 每个标题都占一行 如果我已经下载了 freebase rdf 转储 我该如何执行此操作或进行此操作 如果可能 我还需要一个单独的文本文件 其中每个主题 项目的
  • 在情节中按类别“拆分”

    我正在尝试绘制散点图 每个点都按类别指定颜色 它工作得很好 直到我开始使用 拆分 这行代码显示图例 并且应该通过描述将分类变量 拆分 为不同的类别 这是一个可重现的示例 Load data df soccer lt data frame x
  • 如何使用Font类在Java中设置String的字体大小、样式?

    假设我有一个字符串 Hello World 我想将此字符串的样式更改为粗体字体 并将所有字符的大小从 12 更改为 18 pt 之后我想在 a 中使用这个字符串JLabel and JButton 我怎样才能做到这一点 Font myFon
  • Oauth 2.0 无法从signed_request“code”值获取访问令牌

    我正在迁移到 Oauth 2 0 我当前的网站使用 JS SDK 有一个 fb 登录按钮 然后我访问 Graph 来获取用户详细信息 我在获取访问令牌以从 Graph 获取此数据时遇到问题 一个问题可能是 JS SDK 对话框不会将我重定向
  • 如何以优雅且高效的方式将 python 可调用映射到 numpy 数组?

    规范方法 使用np vectorize 在空数组的情况下不起作用 它以IndexError index 0 is out of bounds for axis 0 with size 0 gt gt gt def f x return x
  • 在 AWS CloudFormation 中定义表、视图和索引

    在 AWS CloudFormation 中 您可以使用 JSON YAML 模板定义服务堆栈 特别是 我正在使用Redshift http docs aws amazon com AWSCloudFormation latest User
  • 如何使用 openCV python 降低 USB 网络摄像头 2.0 的帧速率

    我正在研究Ubuntu 16 04并使用USB 2 0 网络摄像头 我想要降低帧速率不知何故 因为我正在从事的项目需要面部检测 这确实滞后于视频 因此想要降低帧速率 我尝试实现以下代码 import cv2 cap cv2 VideoCap
  • 无法使用 VPN 和代理背后的 crashlytics 构建 Android 应用程序

    作为一名远程工作者 我使用 VPN代理 pac 配置文件位于http proxy mycompany com proxy pac http proxy mycompany com proxy pac 更新包安卓SDK管理器 以下代理设置可以
  • 有没有办法通过 sbt 插件获取项目的所有依赖项?

    我想编写一个 sbt 插件 在其中我需要获取当前项目的所有依赖项的列表 有一些信息 是可能的 是否可以 在我们的项目中 我们使用更新任务来获取库依赖项 update map updateReport gt updateReport sele
  • 将文件夹添加到收藏夹并更改文件夹图标 [Electron macOS]

    一周以来 我一直在寻找一种解决方案 将带有特定图标的文件夹添加到收藏夹侧边栏 就像 Dropbox 所做的那样 有什么解决方案可以用 Electron 或 Objective C 来做到这一点吗 到目前为止我发现了什么 自己拖放 filei
  • 每个数据组合的特殊组编号

    我想为每对行分配不同的组号 对于某些配对 分配唯一的编号作为组编号 edit 我们可以认为这些是成对存在于数据中的 如果这些对存在于行中 则为它们分配一个组号 直到出现下一对 因为真实数据中可能还有其他数据行 这是示例数据 names lt
  • Seaborn中轴标签的字体大小

    在seaborn中 如何仅更改x轴和y轴标签字体大小 有没有办法专门更改轴标签 而不是使用 设置上下文 方法 这是我的代码 def corrfunc x y kws r stats pearsonr x y 0 2 ax plt gca a
  • 当 return 语句和对象之间存在换行符时,Javascript 函数无法返回对象?

    这里是jsfiddle http jsfiddle net fzdQP 完整代码 function foo1 return msg hello1 function foo2 return msg hello2 output foo1 msg
  • 是否可以使用CSS取消文本大写,然后重新大写?

    我从外部来源收到了一段全部大写的文本 我希望它的第一个字母简单地大写 看来text transform capitalize不会将单词的其余部分取消大写 有没有办法不用JS就可以做到这一点 像这样的东西吗 http jsbin com ag
  • Rownum 语句返回与没有它时不同的行

    好吧 我有这个 select 语句 它返回担任职员的人数最少的部门编号 但由于数据库中的数据 它返回两个部门 当我添加 rownum 1 时 它给了我一个完全不同的部门编号 其中有最多的职员 我不知道为什么会这样做 感谢帮助 select