[英]JOOQ select count distinct from group
我正在嘗試通過選擇來計算一組返回的記錄數。
這個 stackoverflow 問題很好地總結了不同的方法:
我想使用解決方案:
SELECT DISTINCT COUNT(*) OVER () AS TotalRecords
FROM table
GROUP BY column
如何將其轉換為 JOOQ 查詢?
這就是我在 JOOQ 中進行簡單計數查詢的方式:
Record record = jooq.select( TABLE.COLUMN.count() ).from( TABLE).fetchOne();
return record.into( Long.class );
是否可以用 JOOQ 語法表達“DISTINCT COUNT(*) OVER () AS TotalRecords”?
詹姆士
寫這個:
// Assuming this static import
import static org.jooq.impl.DSL.*;
int totalRecords =
jooq.selectDistinct(count().over().as("TotalRecords"))
.from(TABLE)
.groupBy(TABLE.COLUMN)
.fetchOneInto(int.class);
您缺少的方法是:
DSLContext.selectDistinct()
DSL.count()
WindowOverStep.over()
( WindowOverStep
是DSL.count()
返回類型的超類型)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.