MySQL 可以在 LIMIT 语法之后执行子查询吗?如果没有,为什么?

2023-12-10

我的 MySQL 服务器版本为 5.1.53。我花了一个小时来自己回答这个问题。包括阅读文档本身http://dev.mysql.com/doc/refman/5.1/en/select.html

目前,我运行此查询。

SELECT dv2.timestamp 
FROM data_val AS dv2
WHERE dv2.timestamp > '2011-06-10 22:26:25' ORDER BY dv3.timestamp DESC 
LIMIT 1

然后我试图消除ORDER BY通过确定 MAX_QUERIES 减 1 的计算来确定语法。通过这样做我可以写,

SELECT  (COUNT(*)-1) total 
FROM data_val AS dv2a
WHERE dv2a.timestamp > '2011-06-10 22:26:13'

最后查询变成,

SELECT dv2.timestamp 
FROM data_val AS dv2
WHERE dv2.timestamp > '2011-06-10 22:26:13' 
LIMIT (
     SELECT  (COUNT(*)-1) total 
     FROM data_val AS dv2a
     WHERE dv2a.timestamp > '2011-06-10 22:26:13'
     ), 1

错误是:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( SELECT (COUNT(*)-1) total FROM data_val AS dv2a ' at line 4

我还尝试将子查询放在OFFSET句法。但仍然错误。

您知道为什么我的子查询不起作用吗?

我需要技术细节short, simple, and clean解释。


来自 MySQL 手册:http://dev.mysql.com/doc/refman/5.5/en/select.html

LIMIT 子句可用于限制 SELECT 语句返回的行数。 LIMIT 接受一个或两个数字参数,它们必须都是非负整数常量,但以下情况除外:

在准备好的语句中,可以使用 ? 指定 LIMIT 参数。占位符标记。

在存储的程序中,从 MySQL 5.5.6 开始,可以使用整数值例程参数或局部变量来指定 LIMIT 参数。

MySQL查询优化器需要将限制参数解析为常量before运行查询,否则它将不知道要返回多少行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 可以在 LIMIT 语法之后执行子查询吗?如果没有,为什么? 的相关文章

  • 使用存储过程并发访问MySQL数据库

    我有一个存储过程 它将读取然后增加数据库中的值 许多程序同时使用这个特定的过程 我担心并发问题 特别是读写器问题 有人可以建议我任何可能的解决方案吗 thanks 首先 正如另一篇文章中所述 使用 InnoDB 从 MySQL 5 5 开始
  • 在 Entity-Framework Core 中批量插入到 MySQL [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个由约 10 000 个对象组成的列表 比方说类Person 我需要将其插入到 MySQL 表中
  • 有向图 SQL

    我有以下数据集 它表示有向图中的节点 CREATE TABLE nodes NODE FROM VARCHAR2 10 NODE TO VARCHAR2 10 INSERT INTO nodes VALUES GT TG INSERT IN
  • 在 JSP 中迭代列表对象

    我正在做一个项目来尝试自学 spring 和 struts 我目前卡在 JSP 页面上 我有一个 pojo 类 其中包含带有 getter setter 的变量 eid 和 ename 我还有一个 sql 中的表 其具有相同的值和六个填充行
  • 从 Visual Studio 调试 SQL Server 2005 中的存储过程?

    我在这里和其他地方看到很多令人沮丧的问题 但没有明确的答案 我试图让存储过程进行调试 但没有成功 客户端 VS2005或VS2008 两者都不起作用 当我从存储过程上下文菜单中选择 步入存储过程 时 我在调试窗口中看到 已被用户取消 这就是
  • 使用 JOIN 和 UNION 合并不同表中的记录

    我需要创建一个查询来组合两个表中的数据 我认为可能是 JOIN 和 UNION 的组合 在此示例中 我需要列出状态处于活动状态的所有姓名 仅一次 并将他们的葡萄酒 苏打水 晚餐 甜点和水果偏好组合起来 按姓名排序 我不确定单独的 JOIN
  • 使用存储过程访问数据可以提供哪些安全优势?

    我看到一些指南建议您通过存储过程对所有数据访问进行分层来保护数据库 我知道对于 SQL Server 您可以保护表甚至列免受 CRUD 操作的影响 例如 Logged in as sa USE AdventureWorks GRANT SE
  • 从 .frm 文件恢复 mysql 数据库

    我每周都会倾倒所有桌子以获得备份 但后来我明白它只是存储表的 frm文件 它不显示表的 MYD 和 MYI 文件 所以我只有我的数据库的 frm 文件 而且我的数据库是innodb 那么我可以用数据库中的数据获取我的数据库吗 是的 这是可能
  • 对 SQL Server 2005 结果进行分页

    如何在 SQL Server 2005 中对结果进行分页 我在 SQL Server 2000 中尝试过 但没有可靠的方法来做到这一点 我现在想知道SQL Server 2005是否有任何内置方法 分页的意思是 例如 如果我按用户名列出用户
  • 使用 sql 查询选择最近 30 天

    我正在查找过去 30 天内周一 周二 周三 周四 周五 周六 周日的数量 我可以在没有实际数据库表的情况下选择最近 30 天的日期和星期几吗 就像是 SELECT everything between convert date GETDAT
  • 使用 Hibernate Dialect 设置表字符集/排序规则?

    我使用 Hibernate MySQLInnoDB Dialect 来生成 DDL hibernate cfg xml
  • 获取 SQL 表上未使用的唯一值

    我有一个表 其中有一列描述数字 ID 该 ID 对于所有行都是唯一的 但它不是主键 数字 ID 是有限的 假设答案可以是从 1 到 10 SELECT ID FROM TABLE ID 1 2 5 我必须 通过 UI 向用户呈现未使用的值
  • SQL Server:比较两个表中的列

    我最近完成了从某些应用程序的旧版本到当前版本的迁移 在迁移数据库时遇到了一些问题 我需要一个可以帮助我比较两个表中的列的查询 我的意思不是行中的数据 我需要比较列本身来弄清楚我错过了表结构的哪些变化 看一下红门 SQL 比较 http ww
  • 无效的 PDO 查询不会返回错误

    下面的第二条 SQL 语句在 phpMyAdmin 中返回错误 SET num 2000040 INSERT INTO artikel artikel nr lieferant nr bezeichnung 1 bezeichnung 1
  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • 简单的t-sql而不是触发器

    任何人都可以帮助解决简单的 t sql 脚本与板载触发器的问题吗 我使用非常简单的触发器将数据从一个表复制到另一个表 这些表之间没有关系 当我尝试在触发器创建后 从同一脚本 直接第一次插入数据时 我得到了所需的结果 但所有接下来的尝试都会失
  • 在无文本搜索查询中使用 sphinx 与 MySQL

    我有这样的疑问 假设我有一个大表 与一个较小的用户表有关系 这个想法是在那个真正的大表中搜索大于给定日期的日期并按分数 例如大整数 排序 并同时获取相关的用户信息 此查询的结果大约每 10 分钟就会更改一次 所以 没有文本搜索 但我有一个非
  • 从多个选择列表中插入数据到mysql数据库(html形式)

    我制作了一个表格 其中有商店的 ID
  • 无法在 Centos 上安装 php-mysqli 扩展

    我正在尝试将 mysqli 扩展安装到 php yum install php mysqli 我收到下一个错误 Transaction Check Error file usr share mysql charsets Index xml
  • 我的数据库有错误

    创建表时如下 create table Ticket ticket id integer not null primary key AirlineName varchar not null CustomerName varchar from

随机推荐

  • 改造2:如何处理动态响应

    我正在尝试从此 api 获取数据 http www omdbapi com 我正在使用 Retrofit 2 并为第一个 json 创建了一个 pojo 我很好奇的是 当数据不可用时 如何将我的 pojo 转换为第二个 pojo 当有可用数
  • Azure AD 身份验证错误:用户取消了流程

    我正在尝试使用开发我们的应用程序的用户身份验证功能Azure AD并在此过程中遇到一些问题 我已经实施了client flow身份验证使用ADAL库 但当我尝试登录时出现以下错误 Error User cancelled the flow
  • 如何使图像不透明到一定程度?

    我想知道如果在图像视图中设置或设置为相对布局的背景 是否可以使图像不透明 如何使用图像视图或相对布局动态设置图像使图像不透明 或者是否有其他选项可以动态设置图像及其不透明度 我还希望同一图像可以在两个方向上旋转 并且还可以放大和缩小到任何级
  • Python urllib2 无法在备用端口(不是 80)上打开 localhost?错误10013

    这是我的服务器 py import BaseHTTPServer import SocketServer class TestRequestHandler BaseHTTPServer BaseHTTPRequestHandler def
  • FabricJS:垂直对齐文本中心

    我使用的是fabricjs 1 5 并且我一直坚持垂直对齐行中间的文本 我正在使用此代码来设置行高 text setProperty lineHeight scope lineHeight current 它更改画布上文本的行高 但文本始终
  • C++ 中的多语句宏

    In C 是否有可能制作一个多语句宏 with 嵌套 if 语句里面像下面这样吗 我已经尝试了一段时间了 但我遇到了第二个 if 语句无法看到 的范围问题symbol 也许我需要进一步了解宏 define MATCH SYMBOL symb
  • Cassandra 存储桶拆分以调整分区大小

    我对 Cassandra 很陌生 我刚刚通过 Datastax 课程学习了它 但我在此处或互联网上没有找到足够的有关存储桶的信息 并且在我的应用程序中我需要使用存储桶来拆分数据 我有一些工具可以进行很多测量 并且每天拆分测量 时间戳作为分区
  • 点击“显示更多”按钮后如何发布新内容?

    我一直在尝试在用户点击后加载一些附加内容的区域中添加 VO 支持Show more按钮 请参阅随附的屏幕截图 所需行为 我需要 VO 宣布有关附加加载元素的信息 例如 什么是 cookie 以及另外 11 个项目 Tried 方法一 使用
  • 新 Gmail API 中的 RFC822 Message-Id

    我们尝试在使用 gmail api 发送电子邮件时手动设置 RFC822 Message Id 我们已经进行了测试 但发现 Gmail 超越了我们的价值 您知道这是否有原因吗 我们可以为此做点什么吗 是的 邮件发送的 Message Id
  • 尽管图像是正确的白色,但图像并未显示完全白色

    对于闪屏 我使用包含白色背景的图像 纯白色 在 Photoshop 中检查 由于某种原因 它显示了轻微的绿色背景与活动的默认白色背景相比 如屏幕截图中标记的那样 仅在某些设备中 例如 我将其作为框架布局中的单个视图添加到活动中
  • 哪个 zip 库可以与 Ruby 1.9.2 配合良好?

    我之前在 Ruby 1 8 7 中使用过 ruby zip gem 但我听说 ruby zip 不能很好地与 ruby 1 9 2 配合使用 哪些 zip 库适用于 Ruby 1 9 2 你是否真正尝试过使用rubyzip与1 9 2 似乎
  • 将箭头函数与 jQuery 回调一起使用时,“this”关键字的行为有所不同[重复]

    这个问题在这里已经有答案了 我有一个包含多行的表 每行上都有一个edit and delete button 简而言之 当使用 class 触发编辑按钮时 edit 弹出一个表单 除了类名之外 我还添加了一个独特的id like id ed
  • 通过无服务器框架部署到 AWS Lambda 时,将文件打包到应用程序包的特定文件夹中

    Context 我正在使用aws node typescript的例子无服务器框架 我的目标是整合Prisma进去 到目前为止 我有 使用本地创建项目serverless create 在 Railway 上设置 PostgreSQL 数据
  • 如何使用 Google Drive Node.js 断点续传

    嘿 由于 google 云端硬盘正在更改其库 我无法使用基本上传功能上传大于 5MB 的文件创建驱动器文件 文档告诉我 我必须选择可恢复上传 但谷歌驱动器没有提供任何示例代码 而且我在谷歌上找不到任何内容 也许重要的是要知道我可以使用以下命
  • getResources 不起作用/未定义 Java

    我在拨打电话时遇到问题getResources 标准类中的函数 所有导入都必须存在才能使用该功能 我需要什么特殊课程来延长我的课程吗 感谢您的立即帮助 package com example helloandroid import andr
  • 如何在Python中进行CamelCase拆分

    我想要实现的目标是这样的 gt gt gt camel case split CamelCaseXYZ Camel Case XYZ gt gt gt camel case split XYZCamelCase XYZ Camel Case
  • 编辑源文件后,“make”不会重新编译

    我正在用 C 编写康威生命游戏的一个小实现 源代码分为三个文件 main c and functions c functions h 我在其中放置函数定义和声明 现在 为了创建单元格网格 我有一个这种类型的矩阵 Cell grid GRID
  • 什么时候可以检查文件是否存在?

    文件系统是易失性的 这意味着您不能相信一个操作的结果对于下一个操作仍然有效 即使它是下一行代码 你不能只说if some file exists and I have permissions for it open the file 你不能
  • 使用 Django Channels 的 Websocket

    我正在尝试使用 Django 通道与浏览器建立 websocket 连接 websocket与服务器连接失败 2017 01 23 23 51 50 HTTP GET 200 0 03 127 0 0 1 60445 2017 01 23
  • MySQL 可以在 LIMIT 语法之后执行子查询吗?如果没有,为什么?

    我的 MySQL 服务器版本为 5 1 53 我花了一个小时来自己回答这个问题 包括阅读文档本身http dev mysql com doc refman 5 1 en select html 目前 我运行此查询 SELECT dv2 ti