Java trunc()字段中的JOOQ orderBy()-ed

Java trunc()字段中的JOOQ orderBy()-ed,java,sql,database,query-builder,jooq,Java,Sql,Database,Query Builder,Jooq,基于这个问题: 这是我的疑问: Result<Record1<Timestamp>> result = createQueryBuilder() .selectDistinct(trunc(incomeTable.REF_DATE, DatePart.DAY).as("refdate")) .from(incomeTable) .where(incomeTable.PROBOS_ID.eq(probosId))

基于这个问题:

这是我的疑问:

    Result<Record1<Timestamp>> result = createQueryBuilder()
        .selectDistinct(trunc(incomeTable.REF_DATE, DatePart.DAY).as("refdate"))
        .from(incomeTable)
        .where(incomeTable.PROBOS_ID.eq(probosId))
        .fetch();
Result=createQueryBuilder()
.selectDistinct(trunc(incomeTable.REF_DATE,DatePart.DAY).as(“refdate”))
.来自(不可编辑)
.式中(不可分解的PROBOS_ID.eq(probosId))
.fetch();

我想在where by
as(“refdate”)
字段中添加一个
.orderBy()

您有几个选项,最简单的一个选项是将投影列表达式分配给局部变量,并在查询中重复使用它两次

Field refdate=trunc(incomeTable.REF_DATE,DatePart.DAY).as(“refdate”);
结果=createQueryBuilder()
.selectDistinct(参考日期)
.来自(不可编辑)
.式中(不可分解的PROBOS_ID.eq(probosId))
.orderBy(参考日期)
.fetch();
或者,如果不可能,请使用以下命令为order by子句创建新的字段引用:

Result=createQueryBuilder()
.selectDistinct(trunc(incomeTable.REF_DATE,DatePart.DAY).as(“refdate”))
.来自(不可编辑)
.式中(不可分解的PROBOS_ID.eq(probosId))
.orderBy(字段(名称(“参考日期”))
.fetch();