当参数的顺序是数字/位置时,在 jOOQ 中按降序排列

问题描述 投票:0回答:1

我有这个 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);
java jooq
1个回答
0
投票

您可以使用

DSL.inline(1)
,因此带有静态导入的 orderBy 可能如下所示:

.orderBy(inline(1).desc(), inline(3).desc())
.

它也可能在

orderBy
方法的 JavaDoc 中提到。

© www.soinside.com 2019 - 2024. All rights reserved.