PARTITION BY在H2 db中不起作用

时间:2013-06-04 22:43:32

标签: oracle h2

我使用PARTITION BY子句对结果进行排序。有关使用PARTITION BY的详细信息,请参阅此问题Sql Order by on multiple column。我在Oracle中运行时工作正常。我在我的单元测试用例中使用了H2 db。当我在H2 db上运行相同的查询时,它不起作用。在H2中是否已知问题?是否有任何替代解决方案可以在Oracle和H2中使用。

1 个答案:

答案 0 :(得分:4)

我认为H2不支持窗口函数(也称为分析函数)。但是,您可以使用标准SQL在链接中执行查询:

SELECT t.*
FROM yourtable t join
     (select vendorname, max(incidentdate) as maxdate
      from yourtable yt
      group by vendorname
     ) vn
     on vn.vendorname = yt.vendorname
ORDER BY vn.maxDate DESC, t.VendorName ASC, t.IncidentDate DESC;

虽然这应该在两个环境中运行,但over表单在SQL中可能表现更好。