SQL Presto:不支持相关子查询

2023-12-01

考虑表x

id,val
1,100
3,300

和表y

id
1
2
3

对于每一行y我想要val from x哪里的id从 y 等于或最接近之前id from x像那样:

id,val
1,100
2,100
3,300

我试图找到与相关子查询最接近的 id:

WITH 
x AS (SELECT * FROM (VALUES (1, 100),(3, 300)) AS t(id, val)),
y AS (SELECT * FROM (VALUES 1,2,3) AS t(id))
SELECT *, (
    SELECT x.id
    FROM x
    WHERE x.id <= y.id
    ORDER BY x.id DESC
    LIMIT 1
) as closest_id
FROM y

但我得到

SYNTAX_ERROR: line 5:5: Given correlated subquery is not supported

我也尝试过左连接:

SELECT *
FROM y
LEFT JOIN x ON x.id <= (
    SELECT MAX(xbis.id) FROM x AS xbis WHERE xbis.id <= y.id
)

但我得到了错误

SYNTAX_ERROR: line 7:5: Correlated subquery in given context is not supported

您可以尝试基于 less then 条件加入,然后对结果进行分组并从分组中找到所需的数据:

WITH 
x AS (SELECT * FROM (VALUES (1, 100),(3, 300),(4, 400)) AS t(id, val)),
y AS (SELECT * FROM (VALUES 1,2,3,4) AS t(id))

SELECT y.id as yId,
    max(x.id) as xId,
    max_by(x.val, x.id) as val
FROM y
JOIN x on x.id <= y.id
GROUP BY y.id
ORDER BY y.id

Output:

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

SQL Presto:不支持相关子查询 的相关文章

  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 如何通过版本控制获取 S3 存储桶中所有文件的大小?

    我知道这个命令可以提供存储桶中所有文件的大小 aws s3 ls mybucket recursive summarize human readable 但这并没有说明版本控制 http docs aws amazon com Amazon
  • Rails HABTM 设置、模型对象和 join_table 插入控制器设置

    我有以下设置 1 个产品有多个 Product types 许多 Product types 有 1 种类型 根据我对文档的理解 HABTM 关系 我的模型是 class Product lt ApplicationRecord has a
  • 如何使用 BigQuery 有效地选择另一个表中匹配子字符串的记录?

    我有一个包含数百万个字符串的表 我想将其与包含大约两万个字符串的表进行匹配 如下所示 standardSQL SELECT record FROM record JOIN fragment ON record name LIKE CONCA
  • 为什么我的 CloudFormation 脚本无法下载文件?

    我需要在 Windows 实例初始化期间下载文件 为了测试这一点 我使用以下脚本来下载 Google 徽标 使用简化版本的Windows 角色和功能模板 https s3 amazonaws com cloudformation templ
  • Amazon S3 - 每个子域有 1 个存储桶和一个文件夹?

    我需要创建一项服务 允许用户在自定义子域中发布静态页面 我从来没有这样做过 所以如果这个问题听起来有点太基本了 请原谅我 为此 我希望将所有这些静态文件托管在 Amazon S3 或 Google 云存储等中 以将其与我的服务器分开 使其可
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q
  • 如何在 MySQL 查询本身中检索 JSON 数组中存储的值?

    我有下表 product id product name image path misc 1 flex http firstpl course level id 19 group id 40067 2 Android http firstp
  • SQL 按 IN 子句中的元素排序

    我有一个ITEM表 我想返回按 IN 子句中通知的相同顺序排序的结果 这些 ID 由用户告知 今天我有这个 SELECT FROM ITEM WHERE ITEM ID IN 45 2 671 6 ORDER BY CASE ITEM ID
  • 如何保留超过 5 天的查询日志?

    在 Redshift 中 有一个STL QUERY存储过去 5 天运行的查询的表 我正在尝试找到一种方法来保存超过 5 天的记录 以下是我考虑过的一些事情 有红移设置吗 看来不是 我可以使用触发器吗 Redshift 中不提供触发器 因此这
  • JDBC 和多线程

    我正在尝试使用多线程方法运行一些查询 但是我认为我做错了什么 因为我的程序需要大约五分钟来运行一个简单的选择语句 例如 SELECT FROM TABLE WHERE ID 123 我的实现如下 我使用一个连接对象 在我的运行方法中 pub
  • Big Query - 将数组/json 对象转置为列

    这个问题是这两个问题的延续 Bigquery 将数组转置为列 https stackoverflow com q 64346504 7463780 大查询 将特定字段转置为列 https stackoverflow com q 643983
  • 如何从表中选择所有偶数 id?

    我想从 MySQL 数据库的表中选择所有甚至帖子 ID 然后显示它们 我还想获取所有带有奇怪 id 的帖子并将它们显示在其他地方 我想使用 PHP 来完成此操作 因为这是我使用的服务器端语言 或者 我是否必须选择所有帖子 然后使用 Java
  • 无法使用模式 r: fopen(): AWS Elastic Beanstalk 打开

    错误 无法使用模式 r fopen 打开 文件名不能为空当我尝试上传较大的文件 超过 5MB 时 我不断收到此错误 我已将 PHP 应用程序上传到 AWS Elastic Beanstalk 并将文件上传到 AWS S3 我的代码中甚至没有
  • 在查询中创建临时变量

    我希望能够在查询中创建一个临时变量 而不是存储过程或函数 它不需要声明和设置 这样我在调用它时就不需要传递查询参数 正在努力朝这个方向努力 Select field1 tempvariable 2 2 newlycreatedfield t
  • 如果字符串包含数字,则仅返回字符串中的数字

    例如 字符串是abc123CD需要找到一种只读方法numbers在字符串中i e select a postgres function abc123CD Result 123 My try select substring abc123CD
  • MySQL - 连接 a 或 b

    假设我有一个TABLE a其中一个COLUMN data是一个join其他 2 张桌子 TABLE b and TABLE c 因为我想得到一个COLUMN info in b or c 事情是a data将匹配only with b da
  • 如何使用 AEM 解析 org.apache.http.ssl?

    最终 我尝试在 Java 代码中使用 AWS S3 库来通过 AEM 启用服务器端 S3 上传 但在安装依赖项和 或由 AEM 识别时遇到了问题 每次我添加新的依赖项时 都会弹出五个问题 在我尝试构建的这个包中 这是我看到的错误 The i
  • PostgreSQL 位图堆扫描索引非常慢,但仅索引扫描很快

    我创建了一个包含 43kk 行的表 并用值 1 200 填充它们 因此 表中每个数字大约为 220k create table foo id integer primary key val bigint insert into foo se

随机推荐

  • 如何在 C++ 中声明和初始化 2d int 向量?

    我正在尝试做类似的事情 include
  • 笑话:如何模拟类的一个特定方法

    假设我有以下课程 export default class Person constructor first last this first first this last last sayMyName console log this f
  • Swift 5.5 AttributedString 不显示在界面中

    下面是 Swift 5 5 制作属性字符串的方法 let s Hello var attrib AttributedString s if let range attrib range of ell attrib range foregro
  • MongoDB 插入无重复项

    现在我正在运行 mongodb 我刚刚意识到 我正在插入集合 但我不确定是否可以防止重复 这是我插入的方式 function insertCompanies companyID companyURL companyAppID MongoCl
  • 带有 TabBar 的基于导航的应用程序

    我有一个基于导航的应用程序 它显示一个 TableView 您可以在其中选择一个单元格 然后它会将您带到该单元格的 详细信息视图 我希望这个视图有一个 TabBar 我可以在其中在 3 个子视图之间进行选择 我在网上找到了几个解决方案 但没
  • 如何避免在拖动具有可点击内容的 gridster.js 小部件后触发点击事件?

    我正在使用 Gridster http gridster net 能够将内容拖动到li 在我的li有一个可点击的div li a href div content div a li 所以这是我面临的问题 当我停止并释放拖动时 它将调用 di
  • 如何迭代 JSON 属性而不知道它是否是数组?

    我遇到这样的问题 API 使用 DEPARTURESEGMENT 响应我 有时仅包含一个对象 有时包含一组对象 根据具体情况 我的 foreach 循环似乎需要不同的逻辑 回应A getdeparturesresult departures
  • 原则 2 限制与 DQL 的关联

    Doctrine 2 1 中似乎存在一个疏忽 即返回子集并不容易 为协会收集 http www doctrine project org docs orm 2 1 en reference limitations and known iss
  • 如何从超类创建子类的实例?

    我正在创建一个类及其子类 其中需要调用父类的静态方法以返回子实例 class Animal static findOne this has to return either an instance of Human or an instan
  • 如何避免使用自动 Code First 迁移重新创建现有数据库

    我正在使用 EF6 并且遇到数据库自动迁移问题 数据库存在 并且数据库中没有架构或数据更改 但由于某种奇怪的原因 应用程序似乎试图在机器重新启动时在数据库中重新创建现有表 并因此导致错误 我的问题是 为什么在没有数据库架构更改的情况下会自动
  • 单击剧作家中的浏览器权限弹出窗口,无需 grantPermission

    我正在尝试和剧作家一起写测试 我的应用程序使用摄像头和麦克风 所以 我允许他们使用context grantPermissions camera microphone 它适用于 Chrome 但不适用于 Firefox 和 Safari 尚
  • Android volley 处理重定向

    我最近开始使用 Google 的 Volley lib 来处理我的网络请求 我的一个请求收到重定向错误 301 所以我的问题是 volley 是否可以自动处理重定向 或者我是否必须手动处理它parseNetworkError或使用某种Ret
  • 将 gprof 与 pthread 结合使用

    gprof 可以用来分析使用 pthread 的多线程程序吗 也就是说 它的输出是否包括所有线程所使用的时间 是的 借助所描述的解决方法是可能的here
  • 如何将类转换为 Dictionary

    我可以将 Class 转换为 Dictionary 吗 在字典中我希望我的类属性为keys以及特定财产的价值value 假设我的班级是 public class Location public string city get set pub
  • JavaScript 减少两个以上项目的抛出错误

    我有这个数组 const arr someProp amount 10 someProp amount 12 然后减少 fn const sum arr reduce prev curr gt prev someProp 0 amount
  • 使用 awk 最长的行

    有人可以展示如何使用 awk 命令来识别文本文件中最长的行 Thanks 要打印最长的行 awk length gt m m length a 0 END print a input file 简单地通过行号来识别最长的行 awk leng
  • JQ:将键替换为另一个文件中的相应值

    我正在尝试将原始 JSON 中的键值替换为另一个文档中具有相应键的对象的值 这是我的两个文件 文件一 KaM0otlgWxXniYiacFe LNxx1IiX6oYTxJ4IXx2 true KlJTvbfonIMI YfS5R LNxx1
  • 替换 Excel 文件页眉和页脚上的文本

    我想检查 Excel 工作表上的页眉和页脚 并将给定字符串的所有出现位置替换为另一个字符串 如何使用 vba 来完成此操作 你需要使用才能使用Sheet PageSetup财产 我假设您正在寻找中心页眉和页脚 以下内容将为您工作 Sub L
  • 使用 UIBezierPath 擦除线条图

    使用 UIBezierPath 做了一个简单的线条绘制应用程序 但现在需要一种方法来擦除用 UIBezierPath 绘制的线条 有没有办法实现橡皮擦功能来删除线条画 如果您使用图像作为背景 那么您可以将相同的图像设置为画笔图案来绘制贝塞尔
  • SQL Presto:不支持相关子查询

    考虑表x id val 1 100 3 300 和表y id 1 2 3 对于每一行y我想要val from x哪里的id从 y 等于或最接近之前id from x像那样 id val 1 100 2 100 3 300 我试图找到与相关子