正如标题所示,我需要从查询中选择一行(无论是什么)。由于ROWNUM
函数,ROWNUM()
在HSQLDB中不起作用。更重要的是,在连接网址设置和schema-hsqldb.sql
中设置ORA方言都不起作用(它应该但它没有,我不知道为什么)。查询在Oracle中完全有效。
有什么建议吗?非常感谢你!
答案 0 :(得分:1)
如果您使用ROWNUM()
而不是简单ROWNUM
而没有括号,则会出现错误。不确定它是如何在HSQLDB中管理的。
由于您使用的是12c,因此可以使用FETCH..FIRST..ONLY
代替ROWNUM
。
select * from employees FETCH FIRST 1 ROWS ONLY;
在较低版本中,您可以使用row_number()
,前提是您在表上至少有一个UNIQUE KEY
(不一定是声明的约束,但是一组列用于标识唯一行)。
select b.<columns> FROM
(
select t.*, row_number() OVER ( ORDER BY <unique_key_column_s) rn from yourtable t
) b WHERE b.rn = 1;
答案 1 :(得分:1)
经过大约三天的搜索,哭泣并想着自杀,我发现在我的情况下(我有相当复杂的SQL)Hibernate前缀@ViewChild("mainScrollView") mainScrollView : ElementRef;
ngAfterViewInit() {
this.disableScrollView()
}
private disableScrollView(){
const scrollView: ScrollView = this.mainScrollView.nativeElement;
console.log("scroll view :")
console.dir(scrollView)
if (isAndroid) {
console.log("is Android")
scrollView.android.requestDisallowInterceptTouchEvent(true);
}
}
和ROWNUM
认为它是一个柱。我已经添加了以下自定义方言解析器,现在它可以工作:
THIS_