如何在 Hypersql 数据库(HSQLDB)中设置 Rank 函数

Posted

技术标签:

【中文标题】如何在 Hypersql 数据库(HSQLDB)中设置 Rank 函数【英文标题】:How to set Rank function in hypersql database(HSQLDB) 【发布时间】:2016-02-03 09:24:16 【问题描述】:

我正在将数据库 mysql 切换到 HyperSQL,但我遇到了关于排名功能的问题。 这里我展示了一个简单的 MYSQL 查询,

SELECT    first_name,
          age,
          gender,
          @Rank := @Rank + 1 AS rank
FROM      person p, (SELECT @Rank := 0) r
ORDER BY  age;

如何在 HyperSQL 查询中进行转换,或者是否有其他方法可以在 HyperSQL 中设置变量?

【问题讨论】:

【参考方案1】:

HSQLDB 支持提供相同功能的 SQL 标准函数

SELECT p.*, ROW_NUMBER() over ()
FROM (SELECT first_name,
          age,
          gender
      FROM  person
      ORDER BY  age) p

【讨论】:

以上是关于如何在 Hypersql 数据库(HSQLDB)中设置 Rank 函数的主要内容,如果未能解决你的问题,请参考以下文章

HSQLDB (HyperSQL) - 如何以毫秒精度将 UNIX 时间戳作为数字获取

HyperSQL / HSQLDB 数据库能抵抗密码攻击吗?

HyperSQL (HSQLDB) 显式共享(读取)锁语法

无法以新用户身份连接到 HyperSQL / HSQLDB 数据库

HyperSQL 链接参数中文件的路径

如何从 C# 连接到 HyperSQL DB