gpt4 book ai didi

grails - grails查询以获取一周中每一天的平均值

转载 作者:行者123 更新时间:2023-12-02 14:58:56 25 4
gpt4 key购买 nike

我有一个grails域类,它看起来像这样:

class Answer {
String response
Integer score
Date created = new Date()
}

如何进行查询以返回一周中每一天的平均分数? , 像这样 :
average for Mondays = 25
average for Tuesdays = 20
....
average for sundays = 10

最佳答案

这是对@ lucke84答案的补充,对他的方法做了很小的修改(以防丢失我对他的答案的编辑)

def summation = [
'monday': [],
'tuesday': [],
'wednesday': [],
'thursday': [],
'friday': [],
'saturday': [],
'sunday': []
]


def answers = Answer.list()
answers.each {
def dateCreated = it.created[Calendar.DAY_OF_WEEK]

switch (dateCreated) {
case Calendar.MONDAY:
summation.monday << it.score
break
case Calendar.TUESDAY:
summation.tuesday << it.score
break
case Calendar.WEDNESDAY:
summation.wednesday << it.score
break
case Calendar.THURSDAY:
summation.thursday << it.score
break
case Calendar.FRIDAY:
summation.friday << it.score
break
case Calendar.SATURDAY:
summation.saturday << it.score
break
case Calendar.SUNDAY:
summation.sunday << it.score
break
} ​
}

def averages = [:]
averages.monday = (summation['monday'].sum())?.divide(summation['monday'].size())
//So on and So forth.

请注意, .list()将带回 Answer的所有行,这可能会影响性能。在这种情况下,您可以使用 findAll并根据需要传递 pagination参数。

关于grails - grails查询以获取一周中每一天的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16731705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com