实现您所请求内容的最直接的方法是使用selectCount()
:
int count =
DSL.using(configuration)
.selectCount()
.from(Table)
.fetchOne(0, int.class);
int count =
DSL.using(configuration)
.select(DSL.count())
.from(Table)
.fetchOne(0, int.class);
还有另一种方法来获取count(*)
任意select
表达式,这可以帮助您避免在上述fetchOne()
方法中指定结果列索引和类型。它使用fetchCount()
:
int count =
DSL.using(configuration)
.fetchCount(DSL.selectFrom(Table));
但是请注意,这会呈现如下嵌套选择:
SELECT COUNT(*) FROM (SELECT a, b, ... FROM Table)