在德比中选择前几行的简单方法?

时间:2015-05-20 02:04:17

标签: derby

Derby没有rownum功能?

在oracle中,我可以选择前3行,如下所示。

select * from a where rownum < 3

here中,他们建议如下。但这很乏味。

SELECT * FROM (
  SELECT
    ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
    columns
  FROM tablename
) AS foo
WHERE rownumber <= n 

1 个答案:

答案 0 :(得分:1)

请注意,Derby还支持FETCH FIRST语法,如下所述:http://db.apache.org/derby/docs/10.11/ref/rrefsqljoffsetfetch.html#rrefsqljoffsetfetch

Derby故意避免使用非标准的SQL结构。在您学习的过程中,使用这种特定于供应商的方法可能很方便,但它也可能导致非便携式应用程序。

使用标准SQL语法的优点是,当您将应用程序移动到另一个DBMS实现时,您不太可能遇到兼容性问题。在这种情况下,Derby强烈遵守标准SQL可能是一个好处:如果您使用像Derby这样的DBMS开发应用程序,您可能会成功地将您的应用程序部署到另一个标准较低的DBMS上。