我有这个 jOOQ 代码,它工作正常,但是
order by
应该是降序第 1 列和降序第 3 列,但是 .orderBy(1,3)
具有不能具有 .desc()
方法的数字参数。如何才能做到这一点?
Predictions p = PREDICTIONS.as("p");
Banks b = BANKS.as("b");
List<Prediction> list = context
.select (inline(1).as("SELECTED"),p.EXEC_ID,p.DATASET_NAME,p.DATE_TIME)
.from(p)
.join(b)
.on(b.SK.eq(p.BANK_SK))
.where(p.EXEC_ID.in(execIds))
.unionAll(context.
select(inline(0).as("SELECTED"),p.EXEC_ID,p.DATASET_NAME,p.DATE_TIME)
.from(p)
.join(b)
.on(b.SK.eq(p.BANK_SK))
.where(p.EXEC_ID.notIn(execIds)))
.orderBy(1,3)
.fetch()
.into(Prediction.class);
您可以使用
DSL.inline(1)
,因此带有静态导入的 orderBy 可能如下所示:
.orderBy(inline(1).desc(), inline(3).desc())
.
它也可能在
orderBy
方法的 JavaDoc 中提到。