我试图通过select来计算一组记录返回的记录数。
此stackoverflow问题很好地总结了不同的方法:
Count number of records returned by group by
我想使用解决方案:
Record record = jooq.select( TABLE.COLUMN.count() ).from( TABLE).fetchOne();
return record.into( Long.class );
如何将其转换为JOOQ查询?
这是我在JOOQ中进行简单计数查询的方法:
$scope.data = {};
$scope.data.records = null;
是否可以在JOOQ语法中表达“DISTINCT COUNT(*)OVER()AS TotalRecords”?
詹姆斯
答案 0 :(得分:3)
写下这个:
// Assuming this static import
import static org.jooq.impl.DSL.*;
int totalRecords =
jooq.selectDistinct(count().over().as("TotalRecords"))
.from(TABLE)
.groupBy(TABLE.COLUMN)
.fetchOne(int.class);
您缺少的方法是:
DSLContext.selectDistinct()
DSL.count()
WindowOverStep.over()
(WindowOverStep
是DSL.count()
返回的类型的超类型)