【发布时间】:2013-04-05 00:48:39
【问题描述】:
使用 JOOQ 获得简单 sum 的正确方法是什么?
SELECT sum(PERSON.AGE) FROM PERSON;
我在想这样的事情:
BigDecimal sum = factory.select(sum(PERSON.AGE)).from(PERSON).fetch???;
?
【问题讨论】:
使用 JOOQ 获得简单 sum 的正确方法是什么?
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 = factory.select(sum(PERSON.AGE)).from(PERSON).fetchOne();
【讨论】:
BigDecimal sum = (BigDecimal) create.select( sum(PERSON.AGE).as("PERSON_AGE_SUM")) .from(PERSON);
试试这个..
【讨论】:
BigDecimal sum = factory.select(PERSON.AGE.sum()).from(PERSON).fetchAnyInto(BigDecimal.class);
【讨论】: