H2 数据库 - Rank() 和 Row_Num() 的替代方案
我在我的 java 应用程序中使用 H2 数据库。它似乎不支持 rank()
和 row_num()
函数,因为它们仍在其 路线图列表
这是我尝试执行的查询
select * from (
select *,
rank() over(partition by MSISDN order by PORT_IN_DATE desc) rank
from TEST_PORTIN
) s
where rank = 1
AND PORT_IN_DATE > '2012-01-16 23:20:27'
ORDER BY PORT_IN_DATE
I am using H2 database in my java application. It seems that it doesn't support rank()
and row_num()
functions as they are still on their roadmap list
Here's the query that I am trying to execute
select * from (
select *,
rank() over(partition by MSISDN order by PORT_IN_DATE desc) rank
from TEST_PORTIN
) s
where rank = 1
AND PORT_IN_DATE > '2012-01-16 23:20:27'
ORDER BY PORT_IN_DATE
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的特定查询不需要
RANK()
。您可以按如下方式重写它:或者,使用量化比较谓词,更花哨一点(但不一定更快)
You don't need
RANK()
for your particular query. You can rewrite it as follows:Or, a bit fancier (but not necessarily faster), using a quantified comparison predicate