使用 Row_Number、order by 和 where 子句的 SQL 查询

2023-12-10

我有以下 SQL 查询:

select
     ID, COLUMN1, COLUMN2
from
     (select ID, COLUMN1, COLUMN2, row_number() over (order by 2 DESC) NO from A_TABLE)
where
     NO between 0 and 100

我想做的是选择查询的前 100 条记录

select ID, COLUMN1, COLUMN2 from ATABLE order by 2 DESC

问题如下:

  1. 显然,order by条款不起作用。我注意到我必须添加另一个order by 2 DESC子句,紧接在(...) from ATABLE,让我的查询起作用。我做错了什么吗?或者这是预期的行为?

  2. 我怎样才能添加一个where条款?假设我只需要选择表的前 100 条记录where COLUMN1 like '%value%'。我尝试在之后添加 where 子句(...) from ATABLE但它产生了一个错误......

帮助?谢谢。

PS:我使用的是Oracle 10g R2。


rownum 是一个伪列,用于计算结果集中的行数after已应用 where 子句。

这就是你想要得到的吗?

SELECT *
FROM ( 
    SELECT id, column1, column2
    FROM atable ORDER BY 2 DESC
) 
WHERE ROWNUM < 100;

因为它是一个伪列,严格来说是由 where 子句产生的行计数器,所以它不允许您进行分页(即在 200 和 300 之间)。

这可能就是您正在寻找的:

SELECT *
FROM
 (SELECT a.*, rownum rnum FROM
     (SELECT id, column1, column2 FROM atable ORDER BY 2 DESC) a WHERE rownum <= 300)
WHERE rnum >= 200;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Row_Number、order by 和 where 子句的 SQL 查询 的相关文章

  • Postgresql 串行错误自动增量

    我在 postgresql 上遇到问题 我认为 postgresql 中有一个错误 我错误地实现了一些东西 有一个表包括colmn1 primary key colmn2 unique colmn3 插入一行后 如果我尝试使用现有的另一次插
  • 将图像列保存到 SQL Server 2000 中的文件

    我在 SQL Server 2000 中有一个包含图像列的表 我需要将图像数据保存到文件系统上的文件中 在 SQL Server 2005 中 我可以使用 ADODB Stream 对象进行文件 I O 但这在 SQL Server 200
  • 与 SQL 中的 IN 运算符相反

    我怎么能做相反的事情 换句话说 选择所有姓氏不是 Hansen 或 Pettersen 的人 WHERE lastname NOT IN Hansen Pettersen 请参阅 IN 和 NOT IN 运算符 部分SQLite 所理解的
  • 如何检查oracle数据库中分配给模式、角色的对象的权限(DDL、DML、DCL)?

    大多数时候 我们都在与愚蠢的事情作斗争 以获取架构 角色及其对象的权限详细信息 并尝试找到一些简单的方法来获取有关它的所有详细信息以及伪查询代码 以批量生成授予语句以供进一步使用执行 所以我们在这里得到它 关于数据字典视图前缀的一些简单介绍
  • SQL Server Like 查询不区分大小写

    Query SELECT from Table 2 WHERE name like Joe Output 1 100 Joe 2 200 JOE 3 300 jOE 4 400 joe 为什么不区分大小写 Problem 查询不区分大小写
  • SQL 选择 n 到 m 关系

    我有一个n to m之间的关系Author and Book 表作者 ID Name 1 Follett 2 Rowling 3 Martin 桌书 ID Title Category 1 A Dance with Dragons Fant
  • 如何使用第二行中的值填充第一行中的空值?

    我正在尝试编写一个查询 仅显示每个名称的第一行 但这些行的标题为空 因此我想从紧邻的下一行中提取它们的标题 table1 Name Title Row Dan NULL 1 Dan Engineer 2 Dan Developer 3 Ja
  • 如何将事物的组合映射到关系数据库?

    我有一个表 其记录代表某些对象 为了简单起见 我假设该表只有一列 这是唯一的ObjectId 现在我需要一种方法来存储该表中的对象组合 组合必须是唯一的 但可以是任意长度 例如 如果我有ObjectIds 1 2 3 4 我想存储以下组合
  • 创建日期范围表

    我正在编写一份需要显示每天值的报告 我有查询的开始日期和结束日期 但我希望避免丢失日期 以防表不包含特定日期的值 我正在考虑创建一个基本日期范围表 其中包含开始和结束之间的所有日期 然后将其与数据表左连接以显示每一天的值 我找到了一些适用于
  • 选择前 n 个字符相等的行(MySQL)

    我有一张带有玩家句柄的桌子 如下所示 1 N Laka 2 N James 3 nor Brian 4 nor John 5 Player 2 6 Spectator 7 N Joe 从那里我想选择第一个 n 字符匹配的所有玩家 但我不知道
  • PostgreSQL 在递归查询中找到所有可能的组合(排列)

    输入是一个长度为 n 的数组 我需要生成数组元素的所有可能组合 包括输入数组中元素较少的所有组合 IN j A B C OUT k A AB AC ABC ACB B BA BC BAC BCA 随着重复 所以AB BA 我尝试过这样的事情
  • 如何对多行的一列值求和?

    我有这个表 我想添加几行的 change 列的值 或者更准确地说 从 ne 值为零的行到 ne 值为零的下一行 不是第二个本身 任何答案将不胜感激 rn date ne change 0 2008 12 07 0 10330848398 1
  • 使用条件 SQL 统计每月汇总记录

    我有一张桌子 我们就叫他们桌子吧SUMMARYDATA NIP NAME DEPARTMENT STATUSIN STATUSOUT TOTALLOSTTIME A1 ARIA BB 2020 01 21 08 06 23 2020 01
  • 自动提取数据 - Oracle SQL Developer

    我通过 SQL Developer 连接到 Oracle 数据库 我想编写一个返回每月数据集的查询 然后将该数据提取到分隔文本文件中 我知道如何做到这一点就好了 我想知道是否有一种方法可以编写一个脚本来运行查询并在一年内逐月提取数据 这样我
  • TSQL - 生成文字浮点值

    我理解比较浮点数时遇到的许多问题 并对它们在这种情况下的使用感到遗憾 但我不是表格作者 只有一个小障碍需要克服 有人决定使用浮点数 就像您期望使用 GUID 一样 我需要检索具有特定浮点值的所有记录 sp help MyTable Colu
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • SQL Server 2008 错误 233

    我正在使用以下 sql 脚本在 SQL Server 2008 中创建新登录名 CREATE LOGIN xyz WITH PASSWORD xyz DEFAULT DATABASE master DEFAULT LANGUAGE us e
  • SQL 错误:ORA-14006:无效的分区名称

    我正在尝试使用以下 SQL 语句对 Oracle 12C R1 中的现有表进行分区 ALTER TABLE TABLE NAME MODIFY PARTITION BY RANGE DATE COLUMN NAME INTERVAL NUM
  • MySQL - 选择一行 - 然后相对于所选行的下一个和上一个

    我会尽力澄清这一点 我需要在不使用 id 的情况下选择特定行和该选定行的前一个相对行以及该选定行的下一个相对行 这可能吗 简而言之 上一篇和下一篇 我不能 也许我只是不知道如何 使用 id 的原因是因为它们不是按顺序排列的 正如您从这个相当
  • 将数据从 oracle 移动到 HDFS,处理并从 HDFS 移动到 Teradata

    我的要求是 将数据从 Oracle 移至 HDFS 处理HDFS上的数据 将处理后的数据移至 Teradata 还需要每 15 分钟执行一次整个处理 源数据量可能接近50GB 处理后的数据也可能相同 在网上搜索了很多之后 我发现 PRARO

随机推荐

  • cURL 无法在本地服务器中使用客户端证书

    我使用 XAMPP 设置了本地服务器 我有两个 PHP 脚本 一个发送者和一个接收者 我正在尝试使用 HTTP over SSL HTTPS 将 XML 文件从发送方发送到接收方 我创建了一个自签名证书 配置了 XAMPP 并且我在发件人上
  • @solana/web3.js 有 ERC721 元数据的 API 吗?

    给定一个代币铸造地址 我正在寻找一种方法来访问 ERC721 代币的元数据 solana web3 js 中有 API 吗 Solana 将代币元数据存储在从原始代币地址派生的地址中https docs solana com develop
  • 通过动态属性从对象数组创建对象

    我有一个对象数组 options width 10 height 20 width 20 height 40 width 30 height 60 我想转换为以下内容 width 10 20 30 height 20 40 60 现在请记住
  • SqlDataAdapter.update() 不更新数据库

    我正在使用 PostLikes 表搜索 PostId UserId SqlDataAdapter 如果找到该行 我正在使用SqlCommandBuilder GetDeleteCommand 生成删除指令并删除底层行 如果找不到该行 那么我
  • 以编程方式将模块/函数集转换为 Python 类

    假设我有一个包含一堆方法的文件 如 chunk methods py def one x return int x def two y return str y 有没有办法通过导入模块整体或选择方法来获取该组方法 并将导入的方法转换为类 例
  • UIApplicationBackgroundRefreshStatusDidChangeNotification 使用没有相应的委托方法

    我觉得UIApplicationBackgroundRefreshStatusDidChangeNotificationiOS 7 中引入的如果不支持 UIApplication 委托方法就没有什么用处 因为 当用户打开我的应用程序的后台刷
  • UWP/C# - AQS 和 USB 设备问题

    我尝试编写的 UWP 应用程序出现问题 我正在连接到我已编程的自定义嵌入式 USB 批量设备 它实际上是 Cypress Semiconductor 的开箱即用示例 我正在使用 WinUSB sys 驱动程序 该驱动程序使用设备中嵌入的 M
  • MySQL:“where 子句中的列‘column_name’不明确”

    我加入 2 个表 例如 table A user id ticket id user name table B ticket id ticket name 如果我运行以下查询 SELECT table A user id table A u
  • 游戏的 3D 模型格式

    我四处寻找可以在我正在构建的游戏中使用的良好模型格式 它是一款可在任何平台上运行的单人角色扮演游戏 我查看了 md2 3 和 5 种格式 obj 和 3ds 但我找不到我想要的东西 我所需要的只是一个带有动画的 3D 模型 我可以将纹理应用
  • Powershell 为什么两个json内容有区别?

    我有两个变量Byte type 我选择此类型是为了满足特定需求 因此需要保留它 声明为 first New Object Byte 32 second New Object Byte 32 并且 我初始化了两个变量的每个索引 现在 我创建了
  • 如何将十六进制字符串转换为int数组

    我有十六进制字符串 例如 01ff6fee32785e366f710df10cc542B4 我正在尝试将它们 有效地 转换为 2 个字符乘 2 个字符的 int 数组 例如 1 255 I tried c 8db6796fee32785e3
  • 验证 JWT 令牌 C# 的签名

    我在验证我获得的 JWT 令牌的签名时遇到一些问题 该令牌使用 HS256 进行签名 我尝试创建签名以证明收到的签名的代码是 JwtSecurityToken token tokenHandler ReadJwtToken tokenStr
  • 获取在 Instagram 上喜欢特定媒体的用户列表

    使用 Instagram API 我需要获取喜欢特定媒体的用户列表 根据文档 以下调用应返回所有用户的列表 https api instagram com v1 media 555 likes access token ACCESS TOK
  • onSaveInstanceState 没有被调用

    我有一项活动 它启动结果代码的各种活动并获取结果onActivityResult方法它根据结果代码启动适当的活动 onSaveInstanceState没有在为结果而启动的活动中被调用 例如 导航活动将活动 A 启动为 Intent int
  • 从 JavaScript 访问 Prestashop Web 服务

    在 Prestashop 后端 我激活了 Web 服务并创建了一个身份验证密钥 在浏览器中进行测试效果很好 但现在我想在 Cordova 应用程序中通过 JavaScript 访问 Web 服务 我得到的回应是401 Unauthorize
  • 可滚动 ListView 将背景颜色渗透到相邻的小部件

    我希望使用可滚动的 ListView 和不可移动的标题图块创建一个简单的布局 我已将标题图块和 ListView 放入列中 因此标题可以位于 ListView 上方 而无需滚动到屏幕之外 但是 当滚动 ListView 时 我的标题图块似乎
  • 使用 webpack-dev-server 启动时,Docker 容器未按预期发布端口

    我有一个简单的 Dockerfile 来创建一个图像来充当我的节点应用程序的开发环境 问题是容器和我的机器之间的端口绑定无法按预期工作 Dockerfile FROM node 10 12 0 EXPOSE 8080 我使用以下命令从该文件
  • 调用非赋值类的方法

    我对这两方面都有疑问 第一 Test test new Test result test DoWork param 第二个 result new Test DoWork param 如果我们不将新创建的实例分配给变量并直接调用方法会发生什么
  • C# 控制台应用程序中输出屏幕突然消失?

    我正在 VS 2013 中编写一个简单的 C 控制台应用程序 但问题是输出屏幕闪烁一会儿然后突然消失 我使用替代方法并最后编写 Console Readline 方法 问题得到解决 所以但我个人认为这只是停止屏幕的技巧 而不是正确的方法 所
  • 使用 Row_Number、order by 和 where 子句的 SQL 查询

    我有以下 SQL 查询 select ID COLUMN1 COLUMN2 from select ID COLUMN1 COLUMN2 row number over order by 2 DESC NO from A TABLE whe