我有一个带有日期属性的域类。
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')
}
}
关于Grails 按日期分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10455409/