什么是让sum
JOOQ 变得简单的正确方法?
SELECT sum(PERSON.AGE) FROM PERSON;
我想这样的事情:
BigDecimal sum = factory.select(sum(PERSON.AGE)).from(PERSON).fetch???;
?
Record1<BigDecimal> record = factory.select(sum(PERSON.AGE)).from(PERSON).fetchOne();
BigDecimal decimal = record.getValue(record.field1());
如果没有要求和的记录,则小数将为空。如果您尝试以以下方式结尾,这种情况将导致错误:
.fetchOneInto(Integer.class)
这是你应该做的:
// Static imports are assumed to be present:
import static org.jooq.impl.DSL.*;
然后使用:
BigDecimal sumValue = factory.select(sum(PERSON.AGE)).from(PERSON).fetch();
BigDecimal sum = (BigDecimal) create.select( sum(PERSON.AGE).as("PERSON_AGE_SUM")) .from(PERSON);
试试这个..
尝试:
BigDecimal sum = factory.select(sum(PERSON.AGE)).from(PERSON).fetchOne();
BigDecimal sum = factory.select(PERSON.AGE.sum()).from(PERSON).fetchAnyInto(BigDecimal.class);