【问题标题】:Is H2 Database able to make SQL query of the over clause with Aggregate function?H2 数据库是否能够使用聚合函数对 over 子句进行 SQL 查询?
【发布时间】:2011-09-09 02:49:58
【问题描述】:

这样的SQL

SELECT empno, deptno, 
COUNT(*) OVER (PARTITION BY deptno) DEPT_COUNT FROM emp WHERE deptno IN (20, 30);

非常有用。

我只是想知道如果在H2中,我们如何实现类似的功能? 也许创建一个java程序会起作用。但是这个功能会不会 是否在 H2 数据库的路线图中?

【问题讨论】:

    标签: sql h2 window-functions


    【解决方案1】:

    H2 中不支持窗口函数。

    最近在 H2 论坛上讨论过这个问题:

    http://groups.google.com/group/h2-database/browse_thread/thread/3899106a85851de3#

    【讨论】:

    • 没错,H2 目前不支持窗口函数。所以解决方法是:select empno, deptno, (select count(*) from emp e2 where e2.deptno=e.deptno) dept_count from emp e where deptno in (20, 30);
    • 非常好的和快速的答案。我已阅读链接中的内容。在我的工作中,如果没有窗口函数,我必须使用子查询,这使得 SQL 变得非常复杂且容易出错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 2011-09-27
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    相关资源
    最近更新 更多