我想从今天到365天按月分组的用户计数。我正在使用带有休眠标准构建器 API 的 groovy 。有什么简单的方法可以进行这种分组吗?我们如何指定按月对日期字段进行分组的日期格式?
现在我有以下内容:
def con_cnt =Users.createCriteria().list {
like('employeeid','c_%')
between('sunsetdate', fromDate, toDate)
projections {
count('employeeid')
//groupProperty('sunsetdate')
}
}
groupProperty('sunsetdate')按日期对它进行分组,甚至在分组中包括时间......因此计数被校准为非常独特的日期和时间,这使得计数1与源表相同。如何使用此方法在分组中指定日期格式?还是我必须使用 HQL?
提前谢谢。
您可以在此处访问此内容以获取更多详细信息
在 域类。这些字段不会映射到表中的列。 为三个字段提供静态映射。
static mapping = {
week formula('WEEK(DATE_OF_EXPENSE)') //provide the exact column name of the date field
month formula('MONTH(DATE_OF_EXPENSE)')
year formula ('YEAR(DATE_OF_EXPENSE)')
}
def results = c.list {
between("dateOfExpense", fromDate, toDate)
projections {
switch(groupBy){
case "week":
groupProperty('year')
groupProperty('month')
groupProperty('week')
break;
case "month"
groupProperty('year')
groupProperty('month')
break;
case "year":
groupProperty('year')
break;
}
sum('amount')
}
}