HSQLDB 中的 PARTITION BY 替代方案

2024-03-10

我想触发中建议的查询https://stackoverflow.com/a/3800572/2968357 https://stackoverflow.com/a/3800572/2968357在 HSQLDB 数据库上使用select * such as

WITH tmpTable AS (
SELECT p.* ,
        ROW_NUMBER()  OVER(PARTITION BY p.groupColumn order by p.groupColumn desc) AS rowCount
  FROM sourceTable p) SELECT * FROM  tmpTable WHERE tmpTable.rowCount = 1

但出现以下错误:

Caused by: org.hsqldb.HsqlException: unexpected token: PARTITION required: )

meaning 分区依据不支持。

我对 HSQLDB 的特定查询有解决方法吗?


HSQLDB 支持该答案中的第二个查询。如果您使用 HSQLDB DatabaseManager 和insert test data从它的options菜单中,您将获得填充有数据且适合此类查询的表。

SELECT MIN(x.id),  
     x.customerID, 
     x.total
FROM INVOICE x
JOIN (SELECT p.customerID,
             MAX(total) AS max_total
        FROM INVOICE p
    GROUP BY p.customerID) y ON y.customerID = x.customerID
                          AND y.max_total = x.total
GROUP BY x.customerID, x.total

但是当你想从两个表中进行选择时,HSQLDB 中有一个有趣的替代方案,它的性能非常好:

SELECT INV.* FROM CUSTOMER, 
LATERAL (SELECT ID, CUSTOMERID, CUSTOMER.FIRSTNAME, TOTAL 
FROM INVOICE  
WHERE CUSTOMERID = CUSTOMER.ID 
ORDER BY TOTAL, ID LIMIT 1) INV

该查询返回如下结果:

ID CUSTOMERID FIRSTNAME TOTAL   
-- ---------- --------- ------- 
1  0          Laura     2700.90 
36 1          Robert    4761.60 
27 3          Michael   3420.30 
12 4          Bill      3867.30 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HSQLDB 中的 PARTITION BY 替代方案 的相关文章

  • 从 $i 获取值,顺序被打乱

    for i 0 i lt count name i some output ommited td td
  • 从两个表中搜索然后删除

    我有两个包含成员数据的表 与 member id 列链接 我需要搜索所有记录email列以 pl 结尾 然后 我需要为此删除两个表中的所有记录 基于 member id 是否可以通过一条 SQL 语句完成此操作 SELECT member
  • Oracle SQL——从字符串中删除部分重复项

    我有一个表 其中有一列包含字符串 如下所示 static text here 1abcdefg1abcdefgpxq 从这个字符串1abcdefg重复两次 所以我想删除该部分字符串 然后返回 static text here 1abcdef
  • SQL 用新值替换旧值

    我有一个名为tbl Products 其中有一列名为articlenumber并且充满了像这样的数字s401 s402 etc 我生成了一个包含新商品编号的列表 它将替换旧的商品编号 s401 I00010 s402 I00020 s403
  • 删除原始数据中部分重复的记录

    我需要删除表中时间间隔为 1 或 2 分钟或相同且必须相同的所有记录ID但保留第一个记录 ID Time SN SD WE FW 10 2014 06 30 19 17 37 000 I 0 100 0 10 2014 06 30 19 1
  • 使用另一个表中的数据查找并替换 MySQL 中的字符串

    我有两个 MySQL 表 我想使用另一个表中的数据查找和替换一个表中的文本字符串 Table texts messages thx guys i think u r great thx again u rock Table dictiona
  • MySql如何通过过滤多列来限制多个数字?

    我想从数据库中获取 4 个不同类别的 50 个问题 我想要 4 个不同类别中每个类别的不同数量的问题 我的结果集必须包含第一类 12 个问题 第二类 20 个问题 第三类 10 个问题和第四类 8 个问题 我的问题表中总共有 50 个问题
  • Oracle:如何查找模式中上次更新(任何表)的时间戳?

    有一个Oracle数据库模式 数据很小 但仍然有10 15个表左右 它包含一种配置 路由表 有一个应用程序必须不时轮询此架构 不得使用通知 如果架构中没有数据更新 应用程序应使用其当前的内存版本 如果任何表有任何更新 应用程序应将所有表重新
  • Oracle 获取列值发生变化的行

    假设我有一张桌子 比如 ID CCTR DATE 1 2C 8 1 2018 2 2C 7 2 2018 3 2C 5 4 2017 4 2B 3 2 2017 5 2B 1 1 2017 6 UC 11 23 2016 还有其他字段 但我
  • 整理有关 QueryDSL-JPA 的提示

    有没有办法用 QueryDSL 来执行它 粗体部分 从地点选择 其中名称如 cafe 整理 Latin1 general CI AI 我将 JPA 与 hibernate 一起使用 您可以使用addFlag QueryFlag Positi
  • (SQL) 识别字段中字符串格式多次出现的位置

    我需要将叙述字段 自由文本 拆分为多行 目前的格式如下 Case Reference Narrative XXXX XX 123456 Endless Text up to 50k characters 在作为文本的叙述字段中 各个条目 当
  • 在同一个表上组合两个 SQL SELECT 语句

    我想结合这两个 SQL 查询 SELECT FROM Contracts WHERE productType RINsell AND clearTime IS NULL AND holdTime IS NOT NULL ORDER BY g
  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7
  • PreparedStatement setnull方法中Types.INTEGER和Types.NULL的区别

    下面的说法有什么区别 PreparedStatement setNull 1 java sql Types NULL and PreparedStatement setNull 1 java sql Types INTEGER 第一个指示驱
  • 消息 102,级别 15,状态 1,第 1 行“ ”附近的语法不正确

    我试图从临时表中查询 但不断收到此消息 Msg 102 Level 15 State 1 Line 1 Incorrect syntax near 有人能告诉我问题是什么吗 是因为要转换吗 查询是 select compid 2 conve
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • 累计非重复计数

    我正在查询每天获取 uid 的累计不同计数 示例 假设有 2 个 uid 100 200 出现在日期 2016 11 01 并且它们也在第二天出现 新的 uid 300 100 200 300 出现在 2016 11 02 此时我希望商店累
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之

随机推荐

  • 获取 iPhone GO 按钮来提交表单

    有谁知道表单中包含哪些变量可以使 iPhone 虚拟键盘的 GO 按钮提交表单还是不提交表单 我一直在尝试缩小场景范围 这就是我发现的 如果 FORM 只有一个用户输入字段 Go 按钮会自动提交表单 如果 FORM 有多个用户输入字段 但没
  • 循环遍历字符串以查找多个索引

    我试图找出循环字符串并查找某个字母的所有索引的最有效方法 我用过 word or phrase indexOf letter 查找某个字母的单个索引 但该字母位于 word or phrase多次 最有效的方法是构建一个包含所有索引的数组
  • Swift 如何“按值传递”对象

    我对 Swift 还很陌生 我创建一个类 例如 class Fraction var a Int init a Int self a a func toString gt String return self a 我还在其他类中构建了一个函
  • 动态壁纸是否带有游戏引擎?

    我想开发一个动态壁纸 经过一番研究后 我得出结论 有两种选择可以创建一个 直接 就像 Android Developers 上所说的那样 http developer android com resources articles live
  • 用餐哲学家挨饿的可能性

    我需要检查解决哲学家就餐问题的算法是否保证满足以下所有条件 不存在僵局的可能性 没有挨饿的可能 我正在使用信号 http en wikipedia org wiki Semaphore 28programming 29放在筷子上即可解决问题
  • 如何从 Visual Studio 2017 中的 .NET Framework 4.5 控制台应用程序引用 .NET 标准库?

    我终于安装了 Visual Studio 2017 2 并试图让我的第一个项目正常运行 但遇到了一些问题 我希望在这里解决 我有一个非常简单的 NET 标准库 描述为以下项目文件
  • ActivatedRoute 订阅第一个子参数观察者

    我不确定这是否是实现此目的的最佳方法 如果您有其他意见请分享 我必须实现一个多收件箱系统 用户可以将多封电子邮件按不同的收件箱分组 例如 http localhost inbox personal 将显示电子邮件列表personal inb
  • 简单回溯暴力算法最坏情况下有效的数独谜题是什么?

    The 简单 幼稚的回溯暴力算法 数独的 直接深度优先搜索 是众所周知并已实现的 并且似乎不存在不同的实现 当我第一次写这个问题时 我想说我们可以完全标准化它 但措辞很糟糕 我认为这个人很好地描述了算法 https stackoverflo
  • 根据 pandas 数据框中的另一列获取子字符串

    您好 有没有办法根据另一列获取一列的子字符串 import pandas as pd x pd DataFrame name bernard brenden bern digit 2 3 3 x digit name 0 2 bernard
  • 为什么我的 JComponent 没有显示在背景 JFrame 的顶部?

    为什么我的 JComponent 没有显示在背景 JFrame 的顶部 请检查以下代码 class CounterFrame extends JFrame private static final long serialVersionUID
  • 如何在 Blazor 中使用 TagHelpers?

    我创建了一个标签助手 并想在我的 Blazor 示例项目中使用它 但是 当我想使用标签助手时 编译器会抱怨 CS0103 The name StartTagHelperWritingScope does not exist in the c
  • 使用方案时,浏览器如何确定 href 中的 URL 是否是相对的?

    假设我有以下链接标签 a href Phone number a 浏览器到底如何知道不加载相对位置 tel 15555555从当前服务器知道tel应该被解释为一个计划 检测主机相对 URL 或协议相关的 URL 似乎是微不足道的 我猜 HT
  • 将函数列表应用于数字

    据我了解 Scheme Racket 中的函数 如 map foldr 和 filter 可以做一些奇妙的事情 例如将函数应用于元素列表 是否可以将函数列表应用于单个元素 我想生成每个函数产生的值 然后找到它们的最大值 谢谢 对于第一部分
  • WSO2 EI/ESB:For 循环实现

    我想实现一个简单的 for loop 在 WSO2 Integration Studio 中 例如 我正在实现一个巴士路线 API 每辆巴士有 10 个不同的站点 我想从后端服务获取 10 个站点 一个正常的 for 循环是 for i 0
  • ”中的服务器错误

    我正在遵循一个教程 内容如下 1 添加 ASP NET Identity 之前的第一步是禁用应用程序服务器 IIS 的默认身份验证机制 因为该框架使用自己的身份验证机制 为此 请在 Web config 文件的 system web 部分添
  • 将 Spark 设置为 Hive 的默认执行引擎

    Hadoop 2 7 3 Spark 2 1 0 和 Hive 2 1 1 我正在尝试将 Spark 设置为配置单元的默认执行引擎 我将 SPARK HOME jars 中的所有 jar 上传到 hdfs 文件夹 并将 scala libr
  • 如何在 iOS Swift 中为 CMSampleBufferGetFormatDescription 创建一个AudioSampleBuffer

    我一直致力于 iOS Swift 中的视频压缩 并关注this https stackoverflow com a 52346800 9250384所以的答案 它工作正常 直到我将这段代码的文件格式更改为 mp4 let videoWrit
  • 使用 Whatsapp 发送图像和文本

    我需要从我的应用程序发送带有文本的图像 我知道如何仅发送图像或仅发送文本 但我不知道如何将两者结合起来 只是一张图片 let image UIImage named Image replace that with your UIImage
  • 增加最大帖子大小

    有大量数据正在提交 没有文件上传 并且 SERVER CONTENT LENGTH 正在被超越 这个可以增加吗 您可以在 2 个不同的位置进行设置 php ini post max size 20M upload max filesize
  • HSQLDB 中的 PARTITION BY 替代方案

    我想触发中建议的查询https stackoverflow com a 3800572 2968357 https stackoverflow com a 3800572 2968357在 HSQLDB 数据库上使用select such