我需要在Netbeans 7.2的小型本地JavaDB中进行SQL调用,以从数据库中提取单个随机行。
SELECT * FROM JAVA2.FORTUNES ORDER BY RANDOM()
到目前为止,我已经可以使用RANDOM()函数来工作了,但是我无法使LIMIT 1正常工作,它返回了语法错误。
我知道每个数据库都有不同的方法来执行此操作,而且我无法弄清楚它如何专门用于Netbeans中的JavaDB(我知道它可以在具有不同语法的单独Oracle DB中工作)。
是否存在使用上述语法返回Java特定于Java DB或ANSI I标准的方式?
Java DB使用SQL的OFFSET / FETCH语法来获得此功能。
假设RANDOM()正确地对它们进行排序,则以下语法应该起作用:
SELECT * FROM JAVA2.FORTUNES ORDER BY RANDOM() OFFSET 0 ROWS FETCH NEXT 1 ROW ONLY