java - 使用 postgres 和 jooq 按时间分组

标签 java sql jooq

如何在 jooq 中按分钟、小时、天或周分组。我发现在 postgres 中 我们可以为此使用 date_trunc('minute', created_at) 函数。

我为此使用的简化 SQL 是:

select date_trunc('day', created_at) as date,
       sum(time_spent) as time_spent,
from progress 
group by date

我怎样才能用 jooq 达到同等效果?

最佳答案

与往常一样,如果您缺少对某些供应商特定功能的支持,您可以使用 plain SQL templating 轻松自行构建它

public static <T> Field<T> dateTrunc(String datePart, Field<T> field) {
    return DSL.field("date_trunc({0}, {1})", 
        field.getDataType(), DSL.inline(datePart), field);
}

关于java - 使用 postgres 和 jooq 按时间分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54710566/

相关文章:

java - 数组的 k 大小的相等排列数

sql - EF Core 检查约束

sql - Postgres - DISTINCT ON 是否优先考虑列中的非空值?

java - postgresql 中的 jOOQ 聚合函数

java - 由 : com. android.tools.r8.utils.AbortException : Error: Program type already present: com. google.android.gms.security.ProviderInstaller 引起

java - 在 JetBrain 开发的两个 java 版本之间切换

java - 如何在运行时获取算术运算符?

sql - 创建或替换角色?

java - jooq 架构未添加到 mySQL

spring-boot - Spring boot Flyway Jooq Code gen maven插件顺序