我下面有一个查询,我希望在同一gorm查询中2个日期之间的计数
def view = StackHash.createCriteria().list(params) {
if(params?.process){
eq("process",params.process)
between("lastDateOfOccurence", fromDate, upToDate)
}
order("occurrence", "desc")
}
[
title : title,
filter : CommonService.makeFilterParams(params),
subtitle : subtitle,
view : view,
reportInstanceTotal: StackHash.count() ///this is getting total number of records in the database irrespective of dates
]
答案 0 :(得分:3)
如果您想知道符合条件的记录总数,可以使用结果的totalCount
属性
def view = StackHash.createCriteria().list(params) {
if(params?.process){
eq("process",params.process)
between("lastDateOfOccurence", fromDate, upToDate)
}
order("occurrence", "desc")
}
[
title : title,
filter : CommonService.makeFilterParams(params),
subtitle : subtitle,
view : view,
reportInstanceTotal: view.totalCount
]
请注意,view.totalCount
不一定与view.size()
相同。 .size()
会告诉您结果集中有多少条记录,而.totalCount
会告诉您有多少条记录符合搜索条件。这些数字可能有所不同。例如,如果您的数据库中有1,000条记录,其中500条记录符合您的条件,并且params
包含类似[max: 10, offset: 0]
的内容,则.size()
将为10,而.totalCount
将为10。 500。
我希望有帮助。