我有一个带有日期属性的域类。
class Transaction {
    LocalDate time
    BigDecimal amount
}
如何查询按月分组的所有交易的总和?我在 GORM 中找不到按日期范围分组的任何支持。
我有一个带有日期属性的域类。
class Transaction {
    LocalDate time
    BigDecimal amount
}
如何查询按月分组的所有交易的总和?我在 GORM 中找不到按日期范围分组的任何支持。
将基于公式的字段添加到您的域类中以获取截断日期:
class Transaction {
    LocalTime time
    BigDecimal amount
    String timeMonth
    static mapping = {
        timeMonth formula: "FORMATDATETIME(time, 'yyyy-MM')" // h2 sql
        //timeMonth formula: "DATE_FORMAT(time, '%Y-%m')"   // mysql sql
    }
}
然后,您将能够运行如下查询:
Transaction.withCriteria {
    projections {
        sum('amount')
        groupProperty('timeMonth')
    }
}