mySQL - 使用返回多行的选择更新多列

2024-01-07

我有一个邮政编码表,我想用它的 3 个最近邻居更新每个邮政编码。即填写此表中的空白:

postcode  nearestPostcode1  nearestPostcode2  nearestPostcode3
_______________________________________________________________

KY6 1DA      -                -                  -
KY6 1DG      -                -                  -
KY6 2DT      -                -                  -
KY6 1RG      -                -                  -
....

我已经想出了一个 SELECT 查询来查找最近的邮政编码,这是更新第一行的一种笨拙方法:

update table1 set 
nearestPostcode1 = (select query for returning the first nearest postcode),
nearestPostcode2 = (select query for returning the second nearest postcode),
nearestPostcode3 = (select query for returning the third nearest postcode)
where postcode = 'KY6 1DA';

然而,这将导致为每个行更新运行 3 个选择查询。如果有某种方法可以执行此伪代码所表达的操作,那么效率会更高:

update table1 set 
(nearestPostcode1, nearestPostcode2, nearestPostcode3) = 
(select query to return the 3 nearest postcodes)
where postcode = 'KY6 1DA';

上面的“选择查询”如下所示:

select postcode from postcodeTable 
order by <equation to calculate distance> ASC 
limit 3

无论如何,从选择返回的行是否可以放入可用于更新多个字段的表单中? 谢谢。


Update Table1
    Cross Join  (
                Select Min( Case When Z1.Num = 1 Then Z1.postcode End ) As PostCode1
                    , Min( Case When Z1.Num = 2 Then Z1.postcode End ) As PostCode2
                    , Min( Case When Z1.Num = 3 Then Z1.postcode End ) As PostCode3
                From    (
                        Select postcode 
                            , @num := @num + 1 As Num
                        From postcodeTable 
                        Where postcode = 'KY6 IDA'
                        Order By <equation to calculate distance> ASC 
                        Limit 3
                        ) As Z1
                ) As Z
Set nearestPostCode1 = Z.PostCode1
    , nearestPostCode2 = Z.PostCode2
    , nearestPostCode3 = Z.PostCode3
Where Table1.postcode =  'KY6 IDA'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mySQL - 使用返回多行的选择更新多列 的相关文章

  • 如何使用wireshark清晰捕获mysql查询sql

    因为我们使用远程开发Mysql服务器 所以不能轻易检查查询sql 如果使用本地服务器可以tail f general log file查看调用某个http接口时执行了哪些sql 所以我安装了一个wireshark捕获这些从本地发送的查询sq
  • oursql 中的参数化查询

    如果有人能告诉我是否可以使用命名占位符进行参数化查询 我将不胜感激oursql 一个用于与 MySQL 数据库交互的 python 模块 例如 我尝试了一种可以与 sqlite3 一起使用的查询 c execute select from
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • PDO语法错误

    我在一个项目中使用 PDO 但提交时出现语法错误 这是我的代码
  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records
  • 从 call_log 中获取最大并发通话数

    我需要帮助在 MySQL 5 0 77 中编写一个查询 根据下面所示的数据 办公室一天的通话量 返回并发电话呼叫的峰值数量 我只是想知道一天中任何特定时间同时打电话的人数最多是多少 首先 这是 MySQL 表 CREATE TABLE ca
  • 无法在 Zend Framework 中回滚事务

    我在 Zend Framework 中使用以下代码进行事务 但回滚功能不起作用 数据通过 insertSome data 插入数据库 怎么了 db gt beginTransaction try model gt insertSome da
  • 如何删除 MySQL 数据库?

    你可能从我的上一个问题中注意到一个问题引发了更多的问题 在 MySQL 监视器中阅读 MySQL 手册 https stackoverflow com questions 1081399 我的数据库现在无法使用 部分原因是我想破坏东西并且无
  • MySQL“列计数与第 1 行的值计数不匹配”是什么意思

    这是我收到的消息 ER WRONG VALUE COUNT ON ROW 列计数与第 1 行的值计数不匹配 这是我的全部代码 我的错误在哪里 DROP TABLE student CREATE TABLE employee emp id I
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • 使用什么框架来引导我的第一个生产 scala 项目?

    我正在第一次涉足 scala 的生产应用程序 该应用程序当前打包为 war 文件 我的计划是创建 scala 编译工件的 jar 文件 并将其添加到 war 文件的 lib 文件夹中 我的增强功能是通过 Jersey 公开的 mysql 支
  • MySQL InnoDB 约束不起作用

    我偶然发现 innoDB 约束的奇怪行为 但找不到原因 我有包含数据的表格 下面列出了它们的结构 CREATE TABLE contents id int 10 unsigned NOT NULL AUTO INCREMENT title
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • 从表中选择行,其中另一个表中具有相同 id 的行在另一列中具有特定值

    在 MySQL 中 如果我们有两个表 comments key value 1 foo 2 bar 3 foobar 4 barfoo and meta comment key value 1 1 2 1 3 2 4 1 我想得到来自以下人
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • 研究MySQL、SQLite源码了解RDBMS实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道实现数据库是一个很大的话题 但我想通过研究数据库系统的源代码来基本了解数据库系统的工作原理 例如
  • 选择获取与 MySQL Group 中 max 对应的整行

    当我使用Max使用后查找特定 MySQL 组中字段的最大值GROUP BY 是否可以获取包含最大值的整行 我在处理一些论坛代码时偶然发现了这个线程 我想获取每个线程的最新帖子并将其显示在特定板的线程列表中 Quassnoi上面的回答对我非常
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的

随机推荐

  • Sqlite ALTER TABLE - 在现有列之间添加列?

    如果我有一个包含列的表 a b c 然后我执行 ALTER TABLE 命令来添加新列 d 是否可以将其添加到 a 和 b 之间 而不是添加到末尾 我听说列的位置会影响性能 在 SQLite 中 无法使用 ALTER TABLE 语句在两个
  • 有没有struts2 jquery渐进式文件上传插件?

    有没有像 jQuery 一样带有良好进度条的文件上传插件 支持标签库 可以在 Struts2 上运行 你知道吗struts2文件上传插件 http code google com p ajax file upload struts2 这是基
  • Django:icontains 大小写对 unicode 敏感

    我正在对我的博客进行简单的搜索 我使用亚美尼亚语 当我搜索时 这些字母总是有意义的 这是我的代码的一部分 先感谢您 search query get get search query list search query split post
  • 比较 php 中的多维和单维数组

    我是 php 新手 只是在玩一些数组 我想从数组中获取以下不同维度的内容 以下是多维数组 a array array productsid gt 90 CouponID gt 50 array productsid gt 80 Coupon
  • PrettyPhoto Jquery Lightbox 链接问题

    我正在使用非常棒的 PrettyPhoto Lightbox 它是一个 Jquery 灯箱克隆 要使用 iframe 启动灯箱 这是代码 a href http www google com iframe true width 100 he
  • 无法从堆中收集无法访问的对象

    我正在努力解决 JVM 堆 Java 1 7 中无法访问的对象 从图中可以看到 图中所有类都是不可达的 我们有超过74 的对象没有引用 所以应该被垃圾收集 在我们的 tomcat 7 服务器上运行 3 周后就会出现这种状态 该服务器仅运行
  • AS3:如何从事件侦听器功能中的 LoaderInfo 获取动态加载程序 URL?

    我正在加载许多图片 并使用数组来执行此操作 loader i load new URLRequest picture i 我的事件监听器功能是这样启用的 loader i contentLoaderInfo addEventListener
  • 使用 Akka 从 Play 应用程序进行 Web 服务调用

    我对于使用 Play 框架和 Akka 进行编程相当陌生 尽管我已经阅读它们有一段时间了 我现在正在默认 基本 Play 环境上启动一个概念验证应用程序 我的问题源于 Play 中的 Web 服务客户端 api http www playf
  • 由于 IPTABLES 更改,SVN 无法工作

    由于我重新启动了安装了 svn 的 Ubuntu 服务器 因此我无法从笔记本电脑访问它 使用 svnX 当我尝试浏览我的曲目库时 出现错误 svn Can t connect to host xxx xxx Address already
  • 使用开放 API 配置设置全局参数?

    我在用Spring Boot REST OpenAPI 3规格 在此示例中 我希望全局设置标题 Custom Header Version v1 我想在向每个端点发出请求时传递它 现在的问题是我已经100 个 REST 端点对于每个端点我需
  • Spring Data api(包含或 startwith)不适用于具有通配符的 SPACE

    我正在将 Elastic Search 与 Spring Data 结合使用 我在存储库中有一个简单的方法 findByUserNameContaining a b 由于空间原因 此方法未给出预期结果 获取错误 无法构造查询 a b 请改用
  • 在 C# 中简单实现 SHA-3 Keccak 哈希到错误的输出?

    我正在尝试获取 HashLib 库 https hashlib codeplex com https hashlib codeplex com 适用于新的 SHA 3 Keccak 算法 我编写了一个简单的控制台应用程序 据说必须输出正确的
  • CMake、RPATH、$ORIGIN 和 @loader_path

    在我的 CMake 项目中 我构建了一堆在运行时作为插件加载的库 因此 我需要设置各种RPATH 以便动态加载机制可以找到这些库 我还需要整个东西是可重定位的 因为它是 Python 扩展模块的一部分 因此在构建过程中会被各种工具复制 似乎
  • install.packages 中出现错误:未安装软件包“RGtk2”,因为它不是为 UCRT 构建的

    我尝试安装拨浪鼓和 RGtk2 我用了 install packages https cran microsoft com snapshot 2021 12 15 bin windows contrib 4 1 RGtk2 2 20 36
  • SqlParameter和IN语句[重复]

    这个问题在这里已经有答案了 我需要以下查询 createList string commaSeparatedElements SqlCommand query new SqlCommand SELECT FROM table WHERE i
  • Play Framework webservice 教程 scala [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用客户端 HTML 表排序对行进行分组

    是否有现有的表格排序库 或者有没有办法配置表格排序器 http tablesorter com docs 每两行排序 或者 是否有更好的方法来语义地表达我的表 以便标准行排序可以工作 我有一个 html 表 看起来像这样 table the
  • SBT 集成测试设置

    我想向我的 SBT Spray 应用程序添加集成测试阶段 理想情况下 它就像 Maven 一样 具有以下阶段 compile 应用程序已构建 test 单元测试已运行 pre integration test 应用程序在单独的进程中启动 i
  • 获取与 Leaflet 类关联的 DOM 元素

    有没有办法获取a对应的DOM元素Marker http leafletjs com reference html marker or Layer http leafletjs com reference html ilayer与传单 就像使
  • mySQL - 使用返回多行的选择更新多列

    我有一个邮政编码表 我想用它的 3 个最近邻居更新每个邮政编码 即填写此表中的空白 postcode nearestPostcode1 nearestPostcode2 nearestPostcode3 KY6 1DA KY6 1DG KY